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

Add support and tests for all JSON RPC methods #373

Closed
tkstanczak opened this issue Jan 25, 2019 · 6 comments
Closed

Add support and tests for all JSON RPC methods #373

tkstanczak opened this issue Jan 25, 2019 · 6 comments

Comments

@tkstanczak
Copy link
Member

tkstanczak commented Jan 25, 2019

need to review what is tested

examples in PersonalModule, IPersonalModule, PersonalModuleTests, ApiBuilder / Program in Nethermind.Cli (#372)

https://github.com/ethereum/wiki/wiki/JSON-RPC
https://github.com/ethereum/go-ethereum/wiki/Management-APIs

RPC method implemented by unit test
trace_call
  • done
  • done
trace_callMany
  • done
  • done
trace_newTransaction
  • done
  • done
trace_rawTransaction
  • done
  • done
trace_replayTransaction
  • done
  • done
trace_replayBlockTransactions
  • done
  • done
trace_block
  • done
  • done
trace_get
  • done
  • done
trace_transaction
  • done
  • done
RPC method implemented by unit test
admin_addPeer
  • done
  • done
admin_dataDir
  • done
  • done
admin_nodeInfo
  • done
  • done
admin_peers
  • done
  • done
admin_setSolc
  • depr
  • done
admin_startRPC
  • done
  • done
admin_startWS
  • done
  • done
admin_stopRPC
  • done
  • done
admin_stopWS
  • done
  • done
RPC method implemented by unit test
txpool_content
  • done
  • done
txpool_inspect
  • done
  • done
txpool_status
  • done
  • done
RPC method implemented by unit test
personal_ecRecover
  • done
  • done
personal_importRawKey
  • done
  • done
personal_listAccounts
  • done
  • done
personal_lockAccount
  • done
  • done
personal_newAccount
  • done
  • done
personal_unlockAccount
  • done
  • done
personal_sendTransaction
  • done
  • done
personal_sign
  • done
  • done
RPC method implemented by unit test
web3_clientVersion
  • done
  • done
web3_sha3
  • done
  • done
RPC method implemented by unit test
net_version
  • done
  • done
net_peerCount
  • done
  • done
net_listening
  • done
  • done
RPC method implemented by unit test
eth_protocolVersion
  • done
  • done
eth_syncing
  • done
  • done
eth_coinbase
  • done
  • done
eth_mining
  • done
  • done
eth_hashrate
  • done
  • done
eth_gasPrice
  • done
  • done
eth_accounts
  • done
  • done
eth_blockNumber
  • done
  • done
eth_getBalance
  • done
  • done
eth_getStorageAt
  • done
  • done
eth_getTransactionCount
  • done
  • done
eth_getBlockTransactionCountByHash
  • done
  • done
eth_getBlockTransactionCountByNumber
  • done
  • done
eth_getUncleCountByBlockHash
  • done
  • done
eth_getUncleCountByBlockNumber
  • done
  • done
eth_getCode
  • done
  • done
eth_sign
  • done
  • done
eth_sendTransaction
  • done
  • done
eth_sendRawTransaction
  • done
  • done
eth_call
  • done
  • done
eth_estimateGas
  • done
  • done
eth_getBlockByHash
  • done
  • done
eth_getBlockByNumber
  • done
  • done
eth_getTransactionByHash
  • done
  • done
eth_getTransactionByBlockHashAndIndex
  • done
  • done
eth_getTransactionByBlockNumberAndIndex
  • done
  • done
eth_getTransactionReceipt
  • done
  • done
eth_getUncleByBlockHashAndIndex
  • done
  • done
eth_getUncleByBlockNumberAndIndex
  • done
  • done
eth_getCompilers (deprecated)
  • depr
  • done
eth_compileLLL (deprecated)
  • depr
  • done
eth_compileSolidity (deprecated)
  • depr
  • done
eth_compileSerpent (deprecated)
  • depr
  • done
eth_newFilter
  • done
  • done
eth_newBlockFilter
  • done
  • done
eth_newPendingTransactionFilter
  • done
  • done
eth_uninstallFilter
  • done
  • done
eth_getFilterChanges
  • done
  • done
eth_getFilterLogs
  • done
  • done
eth_getLogs
  • done
  • done
eth_getWork
  • done
  • done
eth_submitWork
  • done
  • done
eth_submitHashrate
  • done
  • done
eth_getProof
  • done
  • done
RPC method implemented by unit test
db_putString
  • done
  • done
db_getString
  • done
  • done
db_putHex
  • done
  • done
db_getHex
  • done
  • done
RPC method implemented by unit test
shh_post (not planned)
  • ignore
  • done
shh_version (not planned)
  • ignore
  • done
shh_newIdentity (not planned)
  • ignore
  • done
shh_hasIdentity (not planned)
  • ignore
  • done
shh_newGroup (not planned)
  • ignore
  • done
shh_addToGroup (not planned)
  • ignore
  • done
shh_newFilter (not planned)
  • ignore
  • done
shh_uninstallFilter (not planned)
  • ignore
  • done
shh_getFilterChanges (not planned)
  • ignore
  • done
shh_getMessages (not planned)
  • ignore
  • done
@tkstanczak tkstanczak changed the title Add support an test for all JSON RPC methods Add support and tests for all JSON RPC methods Jan 25, 2019
@tkstanczak
Copy link
Member Author

this list is not up to date,

we started generating documentation automatically in https://nethermind.readthedocs.io/en/latest/jsonrpc.html

@parithosh
Copy link
Contributor

Is there any update on eth_getProof? (EIP: 1186). Is there a specific command I have to invoke to enable this? Currently, i get "Method not supported as a response". (Tested on the Görli testnet, nethermind was run using v1.0rc22 from dockerhub)

@tkstanczak
Copy link
Member Author

tkstanczak commented Aug 8, 2019 via email

@parithosh
Copy link
Contributor

That would be awesome, thank you!

@tkstanczak
Copy link
Member Author

EIP-1186 is implemented although some edge cases may not be covered. Added tests for basic scenarios but it needs some more testing with various scenarios to confirm that it behaves same as Parity / Geth (in particular - for the missing account / missing storage)

@tkstanczak
Copy link
Member Author

It is merged in master and will be in RC25.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants