Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DeFi Blockchain RPC Implementations #48

Open
fuxingloh opened this issue Mar 9, 2021 · 16 comments
Open

DeFi Blockchain RPC Implementations #48

fuxingloh opened this issue Mar 9, 2021 · 16 comments
Labels
area/packages kind/feature New feature request sig/blockchain triage/accepted Triage has been accepted

Comments

@fuxingloh
Copy link
Contributor

fuxingloh commented Mar 9, 2021

This tracks all the RPC methods and categories being implemented in jellyfish-api-core. Will list all the methods here, and strike out those that are not applicable.

Feel free to update this and tag yourself if you want to work on a feature. You will need to reference DeFiCh/ain code base, https://github.com/DeFiCh/ain/tree/master/src/rpc to be exact.

This is purely for documenting all features of DeFi Blockchain. 
Everything that is required has already been completed.

src/rpc

blockchain.cpp

mining.ccp

misc.cpp

net.cpp

rawtransaction.cpp

server.cpp - COMPLETED

src/spv

spv_rpc.cpp

src/wallet

rpcwallet.cpp

src/masternode

mn_rpc.cpp - COMPLETED

rpc_accounts.cpp - COMPLETED

rpc_masternodes.cpp - COMPLETED

rpc_poolpair.cpp - COMPLETED

rpc_tokens.cpp - COMPLETED

@fuxingloh fuxingloh added kind/feature New feature request triage/accepted Triage has been accepted area/core labels Mar 9, 2021
@fuxingloh fuxingloh self-assigned this Mar 18, 2021
@fuxingloh fuxingloh removed their assignment Mar 27, 2021
@fuxingloh fuxingloh added this to the Jellyfish Documentation milestone Mar 27, 2021
@fuxingloh
Copy link
Contributor Author

Working on blockchain.cpp

  1. getblockchaininfo

@canonbrother
Copy link
Contributor

canonbrother commented Apr 1, 2021

Working on blockchain.cpp

  1. getblock
  2. getblockhash
  3. getblockcount

@canonbrother
Copy link
Contributor

Working on blockhain.cpp

  1. gettxxout

@fuxingloh fuxingloh changed the title DeFiChain Jellyfish RPC Implementations DeFi Jellyfish RPC Implementations Apr 3, 2021
@fuxingloh
Copy link
Contributor Author

Will be working on various rawtransaction.cpp rpc for wallet integration.

  1. getrawtransaction
  2. createrawtransaction
  3. decoderawtransaction
  4. decodescript
  5. sendrawtransaction
  6. combinerawtransaction
  7. signrawtransactionwithkey

@fuxingloh
Copy link
Contributor Author

Updated RPC typing prioritization, removed prioritization for RPC that are going to be created with jellyfish-transaction.

All RPC without side effect/mutating properties (get, list) should be prioritized over those with side effect (create, update)

@fuxingloh
Copy link
Contributor Author

fuxingloh commented Apr 13, 2021

To prioritize:

rpc_tokens.cpp

  • listtokens
  • gettoken

rpc_poolpair.cpp

  • listpoolpairs
  • getpoolpair
  • listpoolshares

rpc_accounts.cpp

  • listaccounts
  • getaccount
  • gettokenbalances
  • listaccounthistory

mining.ccp

  • estimatesmartfee
  • estimaterawfee

@canonbrother
Copy link
Contributor

canonbrother commented Apr 14, 2021

Working on (late update, DONE)
blockhain.cpp

  1. getrawmempool

wallet.cpp

  1. wallet.getNewAddress
  2. wallet.getAddressInfo
  3. wallet.validateAddress
  4. wallet.listAddressGroupings
  5. wallet.getWalletInfo
  6. wallet.setWalletFlag
  7. wallet.sendToAddress
  8. wallet.createWallet

@canonbrother
Copy link
Contributor

canonbrother commented Apr 14, 2021

Working on rpc_tokens.cpp (improving tests)

  1. listokens
  2. gettoken
  3. createtoken
  4. updatetoken

@canonbrother
Copy link
Contributor

canonbrother commented Apr 15, 2021

Working on rpc_poolpair.cpp (improving tests)

  1. listPoolPairs
  2. getPoolPair
  3. listPoolShares
  4. createPoolPair
  5. addPoolLiquidity

@canonbrother
Copy link
Contributor

Working rpc_accounts.cpp

  1. listaccounts
  2. getaccount
  3. gettokenbalances
  4. listaccounthistory

@fuxingloh fuxingloh changed the title All DeFi Blockchain RPC Implementations DeFi Blockchain RPC Implementations Apr 20, 2021
canonbrother pushed a commit that referenced this issue Jun 1, 2022
* added module.indexer

* tsconfig.build.json to ignore /*.spec/

* refactor all snake_case to camelCase
fuxingloh pushed a commit that referenced this issue Sep 27, 2022
<!--  Thanks for sending a pull request! -->

#### What this PR does / why we need it:
/kind feature

#### Which issue(s) does this PR fixes?:
<!--
(Optional) Automatically closes linked issue when PR is merged.
Usage: `Fixes #<issue number>`, or `Fixes (paste link of issue)`.
-->
Fixes part of #48 
- Implements `gettxoutsetinfo` type for RPC.
fuxingloh added a commit that referenced this issue Oct 7, 2022
<!--  Thanks for sending a pull request! -->

#### What this PR does / why we need it:
/kind feature

#### Which issue(s) does this PR fixes?:
<!--
(Optional) Automatically closes linked issue when PR is merged.
Usage: `Fixes #<issue number>`, or `Fixes (paste link of issue)`.
-->
Fixes part of #48 
- Implements `getmempoolancestors` type for RPC.

Signed-off-by: delphk <[email protected]>
Co-authored-by: Fuxing Loh <[email protected]>
Co-authored-by: Eli <[email protected]>
fuxingloh pushed a commit that referenced this issue Oct 17, 2022
What this PR does / why we need it:
/kind feature

Which issue(s) does this PR fixes?:
Fixes part of #48

- Implements `clearmempool` type for RPC.
fuxingloh pushed a commit that referenced this issue Oct 17, 2022
<!--  Thanks for sending a pull request! -->

#### What this PR does / why we need it:

Implements blockchain.waitForBlock() from ain

#### Which issue(s) does this PR fixes?:
<!--
(Optional) Automatically closes linked issue when PR is merged.
Usage: `Fixes #<issue number>`, or `Fixes (paste link of issue)`.
-->
Fixes part of #48

#### Additional comments?:
fuxingloh added a commit that referenced this issue Oct 27, 2022
<!--  Thanks for sending a pull request! -->

#### What this PR does / why we need it:
/kind feature

#### Which issue(s) does this PR fixes?:
<!--
(Optional) Automatically closes linked issue when PR is merged.
Usage: `Fixes #<issue number>`, or `Fixes (paste link of issue)`.
-->
Fixes part of #48 
- Implements `getnettotals` type for RPC.

Signed-off-by: Mark Tan <[email protected]>
Co-authored-by: Fuxing Loh <[email protected]>
fuxingloh pushed a commit that referenced this issue Dec 2, 2022
)

<!--  Thanks for sending a pull request! -->

#### What this PR does / why we need it:

Adds getCustomTx and decodeCustomTx RPCs and associated tests.

#### Which issue(s) does this PR fixes?:
<!--
(Optional) Automatically closes linked issue when PR is merged.
Usage: `Fixes #<issue number>`, or `Fixes (paste link of issue)`.
-->
Fixes part of #48
fuxingloh pushed a commit that referenced this issue Jan 10, 2023
…1796)

What this PR does / why we need it:
/kind feature

Which issue(s) does this PR fixes?:
Fixes part of #48

- Implements `getmempooldescendants` type for RPC.
fuxingloh pushed a commit that referenced this issue Jan 11, 2023
**What this PR does / why we need it:** 
/kind feature

**Which issue(s) does this PR fixes?:** 
Adding `signMessage()` from
[Issue#48](#48)

This features allow users to sign an arbitrary message using the private
key of an address.
It requires wallet passphrase to be set with `walletpassphrase` call if
the wallet is encrypted.

**Additional comments?:**
The primary purpose of `signMessage()` is to present a signature to
showcase that the funds are in the control of the private key holder.
The holder may also generate a signature with custom prefixes to
showcase proof of authorisation.

Usage Example: [Here](https://bitcoin.stackexchange.com/a/3339/160)
fuxingloh pushed a commit that referenced this issue Jan 12, 2023
…y RPCs (#1905)

<!--  Thanks for sending a pull request! -->

#### What this PR does / why we need it:

Adds verifyMessage and signMessageWithPrivKey RPCs and tests.

#### Which issue(s) does this PR fixes?:
<!--
(Optional) Automatically closes linked issue when PR is merged.
Usage: `Fixes #<issue number>`, or `Fixes (paste link of issue)`.
-->
Fixes part of #48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/packages kind/feature New feature request sig/blockchain triage/accepted Triage has been accepted
Projects
None yet
Development

Successfully merging a pull request may close this issue.

10 participants