# JSON-RPC methods
Check the supported JSON-RPC methods and switches on Plug Chain.
# json-rpc service port, activation method and configuration
This can be configured in ~/.plugchain/config/app.toml:
- The enable = true|falsefield defines whether the json-rpc service is available, the default istrue.
- The address={string}field defines the address (actually the port, since the host must remain0.0.0.0) the service is bound to, defaults to0.0.0.0:8545.
- The api={string}field defines the open api prefix for the service
# Namespaces
| Namespace | Description | Supported | Enabled by Default | 
|---|---|---|---|
| rpc | The rpc namespace that interacts with the gxprefix address, the prefix will successively implement all JSON-RPC of ETH . | ✔ | ✔ | 
| eth | Evmos provides several extensions to the standard ethJSON-RPC namespace. | ✔ | ✔ | 
| web3 | The web3API provides utility functions for the web3 client. | ✔ | ✔ | 
| net | The netAPI provides access to network information of the node | ✔ | ✔ | 
| clique | The cliqueAPI provides access to the state of the clique consensus engine. You can use this API to manage signer votes and to check the health of a private network. | ❌ | |
| debug | The debugAPI gives you access to several non-standard RPC methods, which will allow you to inspect, debug and set certain debugging flags during runtime. | ✔ | |
| les | The lesAPI allows you to manage LES server settings, including client parameters and payment settings for prioritized clients. It also provides functions to query checkpoint information in both server and client mode. | ❌ | |
| miner | The minerAPI allows you to remote control the node’s mining operation and set various mining specific settings. | ✔ | ❌ | 
| txpool | The txpoolAPI gives you access to several non-standard RPC methods to inspect the contents of the transaction pool containing all the currently pending transactions as well as the ones queued for future processing. | ✔ | ❌ | 
| admin | The adminAPI gives you access to several non-standard RPC methods, which will allow you to have a fine grained control over your nodeinstance, including but not limited to network peer and RPC endpoint management. | ❌ | |
| personal | The personalAPI manages private keys in the key store. | 
# endpoints
| Method | Namespace | Implemented | Public | Notes | 
|---|---|---|---|---|
| rpc_syncing | Rpc | ✔ | ✔ | |
| rpc_chainId | Rpc | ✔ | ✔ | |
| rpc_gasPrice | Rpc | ✔ | ✔ | |
| rpc_accounts | Rpc | ✔ | ✔ | |
| rpc_blockNumber | Rpc | ✔ | ✔ | |
| rpc_getBalance | Rpc | ✔ | ✔ | |
| rpc_balanceOf | Rpc | ✔ | ✔ | |
| rpc_prc20TokenInfo | Rpc | ✔ | ✔ | |
| rpc_addressTranslation | Rpc | ✔ | ✔ | |
| rpc_getStorageAt | Rpc | ✔ | ✔ | |
| rpc_getTransactionCount | Rpc | ✔ | ✔ | |
| rpc_getBlockTransactionCountByNumber | Rpc | ✔ | ✔ | |
| rpc_getBlockTransactionCountByHash | Rpc | ✔ | ✔ | |
| rpc_getCode | Rpc | ✔ | ✔ | |
| rpc_getTransactionLogs | Rpc | ✔ | ✔ | |
| rpc_sign | Rpc | ✔ | ✔ | |
| rpc_sendRawTransaction | Rpc | ✔ | ✔ | |
| rpc_call | Rpc | ✔ | ✔ | |
| rpc_estimateGas | Rpc | ✔ | ✔ | |
| rpc_getBlockByNumber | Rpc | ✔ | ✔ | |
| rpc_getBlockByHash | Rpc | ✔ | ✔ | |
| rpc_getTransactionByHash | Rpc | ✔ | ✔ | |
| rpc_getTransactionReceipt | Rpc | ✔ | ✔ | |
| rpc_getProof | Rpc | ✔ | ||
| web3_clientVersion | Web3 | ✔ | ✔ | |
| web3_sha3 | Web3 | ✔ | ✔ | |
| net_version | Net | ✔ | ✔ | |
| net_peerCount | Net | ✔ | ✔ | |
| net_listening | Net | ✔ | ✔ | |
| eth_protocolVersion | Eth | ✔ | ✔ | |
| eth_syncing | Eth | ✔ | ✔ | |
| eth_gasPrice | Eth | ✔ | ✔ | |
| eth_accounts | Eth | ✔ | ✔ | |
| eth_blockNumber | Eth | ✔ | ✔ | |
| eth_getBalance | Eth | ✔ | ✔ | |
| eth_getStorageAt | Eth | ✔ | ✔ | |
| eth_getTransactionCount | Eth | ✔ | ✔ | |
| eth_getBlockTransactionCountByNumber | Eth | ✔ | ✔ | |
| eth_getBlockTransactionCountByHash | Eth | ✔ | ✔ | |
| eth_getCode | Eth | ✔ | ✔ | |
| eth_sign | Eth | ✔ | ✔ | |
| <!-- | eth_sendTransaction | Eth | ✔ | ✔ | 
| eth_sendRawTransaction | Eth | ✔ | ✔ | |
| eth_call | Eth | ✔ | ✔ | |
| eth_estimateGas | Eth | ✔ | ✔ | |
| eth_getBlockByNumber | Eth | ✔ | ✔ | |
| eth_getBlockByHash | Eth | ✔ | ✔ | |
| eth_getTransactionByHash | Eth | ✔ | ✔ | |
| eth_getTransactionByBlockHashAndIndex | Eth | ✔ | ✔ | |
| eth_getTransactionReceipt | Eth | ✔ | ✔ | |
| eth_newFilter | Eth | ✔ | ✔ | |
| eth_newBlockFilter | Eth | ✔ | ✔ | |
| eth_newPendingTransactionFilter | Eth | ✔ | ✔ | |
| eth_uninstallFilter | Eth | ✔ | ✔ | |
| eth_getFilterChanges | Eth | ✔ | ✔ | |
| eth_getFilterLogs | Eth | ✔ | ✔ | |
| eth_getLogs | Eth | ✔ | ✔ | |
| eth_getTransactionbyBlockNumberAndIndex | Eth | ✔ | ||
| eth_getWork | Eth | N/A | ✔ | PoW-only | 
| eth_submitWork | Eth | N/A | ✔ | PoW-only | 
| eth_submitHashrate | Eth | |||
| eth_getCompilers | Eth | |||
| eth_compileLLL | Eth | |||
| eth_compileSolidity | Eth | |||
| eth_compileSerpent | Eth | |||
| eth_signTransaction | Eth | |||
| eth_mining | Eth | ❌ | ||
| eth_coinbase | Eth | ✔ | ||
| eth_hashrate | Eth | N/A | ❌ | PoW-only | 
| eth_getUncleCountByBlockHash | Eth | N/A | PoW-only | |
| eth_getUncleCountByBlockNumber | Eth | N/A | PoW-only | |
| eth_getUncleByBlockHashAndIndex | Eth | N/A | PoW-only | |
| eth_getUncleByBlockNumberAndIndex | Eth | N/A | PoW-only | |
| eth_getProof | Eth | ✔ | ||
| eth_subscribe | Websocket | ✔ | ||
| eth_unsubscribe | Websocket | ✔ | ||
| personal_importRawKey | Personal | ✔ | ❌ | |
| personal_listAccounts | Personal | ✔ | ❌ | |
| personal_lockAccount | Personal | ✔ | ❌ | |
| personal_newAccount | Personal | ✔ | ❌ | |
| personal_unlockAccount | Personal | ✔ | ❌ | |
| personal_sendTransaction | Personal | ✔ | ❌ | |
| personal_sign | Personal | ✔ | ❌ | |
| personal_ecRecover | Personal | ✔ | ❌ | |
| personal_initializeWallet | Personal | ✔ | ❌ | |
| personal_unpair | Personal | ✔ | ❌ | |
| db_putString | DB | |||
| db_getString | DB | |||
| db_putHex | DB | |||
| db_getHex | DB | |||
| shh_post | SSH | |||
| shh_version | SSH | |||
| shh_newIdentity | SSH | |||
| shh_hasIdentity | SSH | |||
| shh_newGroup | SSH | |||
| shh_addToGroup | SSH | |||
| shh_newFilter | SSH | |||
| shh_uninstallFilter | SSH | |||
| shh_getFilterChanges | SSH | |||
| shh_getMessages | SSH | |||
| admin_addPeer | Admin | ❌ | ||
| admin_datadir | Admin | ❌ | ||
| admin_nodeInfo | Admin | ❌ | ||
| admin_peers | Admin | ❌ | ||
| admin_startRPC | Admin | ❌ | ||
| admin_startWS | Admin | ❌ | ||
| admin_stopRPC | Admin | ❌ | ||
| admin_stopWS | Admin | ❌ | ||
| clique_getSnapshot | Clique | |||
| clique_getSnapshotAtHash | Clique | |||
| clique_getSigners | Clique | |||
| clique_proposals | Clique | |||
| clique_propose | Clique | |||
| clique_discard | Clique | |||
| clique_status | Clique | |||
| debug_backtraceAt | Debug | |||
| debug_blockProfile | Debug | ✔ | ||
| debug_cpuProfile | Debug | ✔ | ||
| debug_dumpBlock | Debug | |||
| debug_gcStats | Debug | ✔ | ||
| debug_getBlockRlp | Debug | |||
| debug_goTrace | Debug | ✔ | ||
| debug_freeOSMemory | Debug | ✔ | ||
| debug_memStats | Debug | ✔ | ||
| debug_mutexProfile | Debug | ✔ | ||
| debug_seedHash | Debug | |||
| debug_setHead | Debug | |||
| debug_setBlockProfileRate | Debug | ✔ | ||
| debug_setGCPercent | Debug | ✔ | ||
| debug_setMutexProfileFraction | Debug | ✔ | ||
| debug_stacks | Debug | ✔ | ||
| debug_startCPUProfile | Debug | ✔ | ||
| debug_startGoTrace | Debug | ✔ | ||
| debug_stopCPUProfile | Debug | ✔ | ||
| debug_stopGoTrace | Debug | ✔ | ||
| debug_traceBlock | Debug | ✔ | ||
| debug_traceBlockByNumber | Debug | ✔ | ||
| debug_traceBlockByHash | Debug | ✔ | ||
| debug_traceBlockFromFile | Debug | |||
| debug_standardTraceBlockToFile | Debug | |||
| debug_standardTraceBadBlockToFile | Debug | |||
| debug_traceTransaction | Debug | ✔ | ||
| debug_verbosity | Debug | |||
| debug_vmodule | Debug | |||
| debug_writeBlockProfile | Debug | ✔ | ||
| debug_writeMemProfile | Debug | ✔ | ||
| debug_writeMutexProfile | Debug | ✔ | ||
| les_serverInfo | Les | |||
| les_clientInfo | Les | |||
| les_priorityClientInfo | Les | |||
| les_addBalance | Les | |||
| les_setClientParams | Les | |||
| les_setDefaultParams | Les | |||
| les_latestCheckpoint | Les | |||
| les_getCheckpoint | Les | |||
| les_getCheckpointContractAddress | Les | |||
| miner_getHashrate | Miner | ✔ | ❌ | No-op | 
| miner_setExtra | Miner | ✔ | ❌ | No-op | 
| miner_setGasPrice | Miner | ✔ | ❌ | Needs node restart | 
| miner_start | Miner | ✔ | ❌ | No-op | 
| miner_stop | Miner | ✔ | ❌ | No-op | 
| miner_setGasLimit | Miner | ✔ | ❌ | No-op | 
| miner_setEtherbase | Miner | ✔ | ❌ | |
| txpool_content | TxPool | ✔ | ||
| txpool_inspect | TxPool | ✔ | ||
| txpool_status | TxPool | ✔ | 
WARNING
The block number can be entered as a hexadecimal string, "earliest", "latest" or "pending".
Below is a list of RPC methods, parameters, and sample responses from the namespace.
# Rpc Methods
# rpc_syncing
 The sync state object may need to vary depending on the details of the Tendermint sync protocol. However, the sync result is just a boolean value that can easily be derived from Tendermint's internal sync state.
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"rpc_syncing","params":[],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":false}
# rpc_chainId
 Returns the chain ID of the EIP155 rule
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"rpc_chainId","params":[],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":521}
# rpc_gasPrice
 Returns the current gas price in the default PVM denomination parameter.
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"rpc_gasPrice","params"
:[],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":"0x1b"}
# rpc_accounts
 Returns an array of all accounts.
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"rpc_accounts","params":[],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":["gx1vt7svcst6982ka4c3ufxmqrs05a9e9eq676tyv","gx13pcg58n0gnk68ttsupcmejvtd8fdss9lj4g0ds"]}
# rpc_blockNumber
 Returns the current block height.
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"rpc_blockNumber","params":[],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":"0x5fce"}
# rpc_getBalance
 Returns the account balance for the given account address and block number.
# parameters
- bech32 Address 
- Block Number or Block Hash 
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"rpc_getBalance","params":["gx1vt7svcst6982ka4c3ufxmqrs05a9e9eq676tyv", "latest"],"id":1}' -H "Content -Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":"0x2b9e819506dc"}
# rpc_balanceOf
 Returns the account contract token balance for the given account address.
# parameters
- bech32 Address 
- contract Address 
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"rpc_balanceOf","params":[{"from":"gx1vt7svcst6982ka4c3ufxmqrs05a9e9eq676tyv", "to":"gx1n4m7gafr6cxtj8q4w9mm3480ar4gqst3t9,"late6he9"} "],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":1000000000000000000000000}
# rpc_prc20TokenInfo
 Returns the basic information of the prc20 standard contract for the given contract address
# parameters
- bech32 contract address
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"rpc_prc20TokenInfo","params":[{"to":"gx1n4m7gafr6cxtj8q4w9mm3480ar4gq3t95k6he9"}, "latest"],"id":1 }' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":{"decimals":18,"name":"test name","symbol":"tee","totalSupply":100000000000000000000000}}
# rpc_addressTranslation
 Returns the conversion type for a given bech32, hex, eip55 address
# parameters
- bech32 or hex or eip55 address string
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"rpc_addressTranslation","params":["0x9D77e47523D60CB91c157177B8d4EFe8Ea804565"],"id":1}' -H "Content-Type: application /json" http://localhost:8545
// Result
{ "Jsonrpc": "2.0", "id": 1, "result": { "EIP-55": "0x9d77e47523d60cb91c157177b8d4efe8ea804565", "bech32": "gx1n4m7gafr6cxtj8q4w9mm3480ar4gq3t95k6he9", "bytes": "[157 119 228 117 35 214 12 185 28 21 113 119 184 212 239 232 234 128 69 101]","hex":"9D77E47523D60CB91C157177B8D4EFE8EA804565"}}
# rpc_getStorageAt
 Returns the storage address for the given account address.
# parameters
- bech32 Address 
- Integer of the position in the storage 
- Block Number or Block Hash 
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"rpc_getStorageAt","params":["gx1vt7svcst6982ka4c3ufxmqrs05a9e9eq676tyv", "0", "latest"],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":"0x00000000000000000000000000000000000000000000000000000000000000"}
# rpc_getTransactionCount
 Returns the total transaction volume for the given account address and block number.
# parameters
- bech32 Address 
- Block Number or Block Hash 
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"rpc_getTransactionCount","params":["gx1vt7svcst6982ka4c3ufxmqrs05a9e9eq676tyv", "latest"],"id":1}' -H "Content -Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":"0x2"}
# rpc_getBlockTransactionCountByNumber
 Returns the total transaction count for the given block number.
# parameters
- Block number
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"rpc_getBlockTransactionCountByNumber","params":["0x30"],"id":1}' -H "Content-Type: application /json" http://localhost:8545
// Result
 {"jsonrpc":"2.0","id":1,"result":"0x1"}
# rpc_getBlockTransactionCountByHash
 Returns the total transaction count for the given block hash.
# parameters
- Block Hash
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"rpc_getBlockTransactionCountByHash","params":["0xe169606a2628cfba6a46227ba7edf2a18e1bb10f32b7790d5137473d3c9777d1"],"id":1}' -H "Content-Type: application /json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":"0x3"}
# rpc_getCode
 Returns the code for the given account address and block number.
# parameters
- bech32 Address 
- Block Number or Block Hash 
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"rpc_getCode","params":["gx1vt7svcst6982ka4c3ufxmqrs05a9e9eq676tyv", "0x30"],"id":1}' -H "Content -Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":"0xef616c92f3cfc9e92dc270d6acff9cea213cecc7020a76ee4395af09bdceb4837a1ebdb5735e11e7d3adb6104e0c3ac55180b4ddf5e54d0297cc5eb887d0292cc5eb887a1ebdb5735e11e7d3adb6104e0c3ac55180b4ddf5e54d0297cc5e
# rpc_getTransactionLogs
 Returns the transaction log for the given hash
# parameters
- tx hash
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"rpc_getTransactionLogs","params":["0xaa90d5fe351a053dc17241da083857842010a3e2b344ada381cca73d8b3965e9"],"id":1}' -H "Content-Type: application /json" http://localhost:8545
//Result
{ "Jsonrpc": "2.0", "id": 1, "result": [{ "address": "gx1n4m7gafr6cxtj8q4w9mm3480ar4gq3t95k6he9", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x00000000000000000000000062fd06620bd14eab76b88f126d80707d3a5c9720", "0x00000000000000000000000062fd06620bd14eab76b88f126d80707d3a5c9720"], "data" : "0x00000000000000000000000000000000000000000000003635c9adc5dea00000", "blockNumber": "0x38c0", "transactionHash": "0xb846a21fa354644e5e60d20516b898fd73290c48479df382abfe5089822a0708", "transactionIndex": "0x0", "blockHash": "0x955dec631d904454010530a3c4a548300b5d103d6656e6dbaef0137b628d85d7", "logIndex": "0x0", "removed": false }]}
# rpc_sign
 The sign method computes an Ethereum-specific signature: sign(keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))).
The computed signature can be identified as an Ethereum-specific signature by adding a prefix to the message. This prevents abuse where malicious DApps can sign arbitrary data (such as transactions) and use the signature to impersonate the victim.
WARNING
The address used for signing must be unlocked.
# parameters
- bech32 Address 
- the information to be signed data 
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"rpc_sign","params":["gx1vt7svcst6982ka4c3ufxmqrs05a9e9eq676tyv", "0xdeadbeaf"],"id":1}' -H "Content -Type: application/json" http://localhost:8545
// Result
{ "Jsonrpc": "2.0", "id": 1, "result": "0x909809c76ed2a5d38733de39207d0f411222b9b49c64a192bf649cb13f63f37b45acb4f6939facb4f1c277bc70fb00407564140c0f18600ac44388f2c1dfd1dc1b"}
# rpc_sendRawTransaction
 Create a new message for a signed transaction to invoke transaction or contract creation.
# parameters
- signed transaction data
// Request
curl -X POST --data '{ "jsonrpc": "2.0", "method": "rpc_sendRawTransaction", "params": [ "0xf9ff74c86aefeb5f6019d77280bbb44fb695b4d45cfe97e6eed7acd62905f4a85034d5c68ed25a2e7a8eeb9baf1b8401e4f865d92ec48c1763bf649e354d900b1c"], "id": 1}' -H "Content-Type: application /json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":"0x00000000000000000000000000000000000000000000000000000000000000"}
# rpc_call
 A new message call is executed immediately without creating a transaction on the blockchain.
# parameters
- Trading partners: - from:- DATA, 20 Bytes - (optional) The address to send the transaction to.- to:- DATA, 20 Bytes - The address to which the transaction is directed.- gas: QUANTITY - gas supplied for transaction execution. rpc_call consumes zero gas, but some executions may require this parameter.- gasPrice: QUANTITY - gasPrice used for each paid gas- value: QUANTITY - the value sent with this transaction- data:- DATA- optional) A hash of the method signature and encoding parameters. For more information, see Ethereum Contract ABIs in the Solidity documentation
- Block number or Block Hash 
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"rpc_call","params":[{"from":"gx1n4m7gafr6cxtj8q4w9mm3480ar4gq3t95k6he9", "to":"gx1n4m7gafr6cxtj8q4w9mm3480ar4gq3t95k6he9", "gas" : "0x5208", "gasPrice": "0x55ae82600", "value": "0x16345785d8a0000", "data": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"}, "latest"], "id": 1} '-H "Content-Type: application /json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":"0x"}
# rpc_estimateGas
 Returns an estimate of the gas required to send a transaction.
# parameters
- Trading partners: - from:- DATA, 20 Bytes - The address to send the transaction to.- to:- DATA, 20 Bytes - (optional when creating a new contract) The address to which the transaction points.- value:- QUANTITY- the value sent with this transaction
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"rpc_estimateGas","params":[{"from":"gx1vt7svcst6982ka4c3ufxmqrs05a9e9eq676tyv", "to":"gx1n4m7gafr6cxtj8q4w9mm3480ar4gq3t95k69", "value" :"0x30"}],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":"0x1199b"}
# rpc_getBlockByNumber
 Returns information about blocks by block number.
# parameters
- block number 
- true|false If true, returns the full transaction object, if false, just returns the hash of the transaction. 
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"rpc_getBlockByNumber","params":["0x30",false],"id":1}' -H "Content-Type : application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":{"baseFeePerGas":"0x191d10","difficulty":"0x0","extraData":"0x","gasLimit":"0x989680 "," gasUsed ":" 0x115c9c "," hash ":" 0xe169606a2628cfba6a46227ba7edf2a18e1bb10f32b7790d5137473d3c9777d1 "," logsBloom ":" 0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 "," miner ":" gx13pcg58n0gnk68ttsupcmejvtd8fdss9lj4g0ds "," mixHash ":" 0x0000000000000000000000000000000000000000000000000000000000000000 "," nonce ":" 0x0000000000000000 "," number ":" 0x30 "," parentHash ":" 0x0b6593fb90b0c063236ba6c658030f47fe1fbcfc9098b36ed6a4b462077ea9bf "," receiptsRoot ":" 0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421 " , "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", "size": "0x1714", "stateRoot": "0xbfbfe1aa039288795aa33ac4bd5281927712fa9e1232cbb5a179ed0a9aa1a430", "timestamp": "0x6262243f", "totalDifficulty": "0x0", "transactions": [ "0xaa90d5fe351a053dc17241da083857842010a3e2b344ada381cca73d8b3965e9"] ,"transactionsRoot":"0x2b7666f8dde9d3fafa4573f751d1e084765f66aca3f1d78bb106ff526eab335c","uncles":[]}}
# rpc_getBlockByHash
 Returns the lock information given the hash and a boolean value in the command above.
# parameters
- Block hash. 
- true|false If true, returns the full transaction object, if false, just returns the hash of the transaction. 
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"rpc_getBlockByHash","params":["0xe169606a2628cfba6a46227ba7edf2a18e1bb10f32b7790d5137473d3c9777d1",false],"id":1}' -H "Content-Type : application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":{"baseFeePerGas":"0x191d10","difficulty":"0x0","extraData":"0x","gasLimit":"0x989680 "," gasUsed ":" 0x115c9c "," hash ":" 0xe169606a2628cfba6a46227ba7edf2a18e1bb10f32b7790d5137473d3c9777d1 "," logsBloom ":" 0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 "," miner ":" gx13pcg58n0gnk68ttsupcmejvtd8fdss9lj4g0ds "," mixHash ":" 0x0000000000000000000000000000000000000000000000000000000000000000 "," nonce ":" 0x0000000000000000 ", "number":"0x30","parentHash":"0x0b6593fb90b0c063236ba6c658030f47fe1fbcfc9098b36ed6a4b462077ea9b f "," receiptsRoot ":" 0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421 "," sha3Uncles ":" 0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347 "," size ":" 0x1714 "," stateRoot ":" 0xbfbfe1aa039288795aa33ac4bd5281927712fa9e1232cbb5a179ed0a9aa1a430 "," timestamp ":" 0x6262243f "," totalDifficulty ":" 0x0 " , "transactions": [ "0xaa90d5fe351a053dc17241da083857842010a3e2b344ada381cca73d8b3965e9"], "transactionsRoot": "0x2b7666f8dde9d3fafa4573f751d1e084765f66aca3f1d78bb106ff526eab335c", "uncles": []}}
# rpc_getTransactionByHash
 Returns transaction details for the given tx hash.
# parameters
- the hash of the transaction
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"rpc_getTransactionByHash","params":["0xb846a21fa354644e5e60d20516b898fd73290c48479df382abfe5089822a0708"],"id":1}' -H "Content-Type: application /json" http://localhost:8545
 
// Result
{ "Jsonrpc": "2.0", "id": 1, "result": { "blockHash": "0x955dec631d904454010530a3c4a548300b5d103d6656e6dbaef0137b628d85d7", "blockNumber": "0x38c0", "from": "gx1vt7svcst6982ka4c3ufxmqrs05a9e9eq676tyv", "gas": "0x33450 "," gasPrice ":" 0xc8 "," hash ":" 0xb846a21fa354644e5e60d20516b898fd73290c48479df382abfe5089822a0708 "," input ":" 0xa9059cbb00000000000000000000000062fd06620bd14eab76b88f126d80707d3a5c972000000000000000000000000000000000000000000000003635c9adc5dea00000 "," nonce ":" 0x1 "," to ":" gx1n4m7gafr6cxtj8q4w9mm3480ar4gq3t95k6he9 "," transactionIndex ":" 0x0 ", "value": "0x0", "type": "0x0", "v": "0x436", "r": "0xe6072ed57727a81087ff8e4e1df8a168038a6295d8ff3835dfab1bd7a387b9f", "s": "0xf634ebcad4215e8417572c31ec6f0dc990981b193d3159fdfbfd81b04ea8be8"}}
# rpc_getTransactionReceipt
 Returns the transaction's receipt via the transaction hash.
Note: Tendermint's Tx Code and Ethereum receipt states are toggled:
| Tendermint | Rpcereum | |
|---|---|---|
| Success | 0 | 1 | 
| Fail | 1 | 0 | 
# parameters
- tx hash
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"rpc_getTransactionReceipt","params":["0xb846a21fa354644e5e60d20516b898fd73290c48479df382abfe5089822a0708"],"id":1}' -H "Content-Type: application /json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":{"blockHash":"0x955dec631d904454010530a3c4a548300b5d103d6656e6dbaef0137b628d85d7","blockNumber":"0x38c0","contractAddress":null,"cumulative"GasUsed":"0x38c0","contractAddress":null,"cumulative"GasUsed" "from": "gx1vt7svcst6982ka4c3ufxmqrs05a9e9eq676tyv", "gasUsed": "0x6dc2", "logs": [{ "address": "gx1n4m7gafr6cxtj8q4w9mm3480ar4gq3t95k6he9", "topics": [ "0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef", "0x00000000000000000000000062fd06620bd14eab76b88f126d80707d3a5c9720", "0x00000000000000000000000062fd06620bd14eab76b88f126d80707d3a5c9720"], "data ":"0x000000000000000000000000000000000000000000003635c9adc5dea00000","blockNumber ":" 0x38c0 "," transactionHash ":" 0xb846a21fa354644e5e60d20516b898fd73290c48479df382abfe5089822a0708 "," transactionIndex ":" 0x0 "," blockHash ":" 0x955dec631d904454010530a3c4a548300b5d103d6656e6dbaef0137b628d85d7 "," logIndex ":" 0x0 "," removed ": false}]," logsBloom " : "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000110000000000000000000000200000000000000020000000010000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "status": "0x1", "to": "gx1n4m7gafr6cxtj8q4w9mm3480ar4gq3t95k6he9", "transactionHash": "0xb846a21fa354644e5e60d20516b898fd73290c48479df382abfe5089822a0708", "transactionIndex": "0x0", "type": "0x0"}}
# rpc_getProof
Returns the account value and stored value for the specified account, including Merkle proofs.
# parameters
- Account or contract address 
- Integer for storage location 
- Block Number or Block Hash 
// Request
curl -X POST --data '{ "jsonrpc": "2.0", "method": "rpc_getProof", "params": [ "gx1n4m7gafr6cxtj8q4w9mm3480ar4gq3t95k6he9", [ "0x0000000000000000000000000000000000000000000000000000000000000000", "0x0000000000000000000000000000000000000000000000000000000000000001"], "latest"], " id":1}' -H "Content-type:application/json" http://localhost:8545
// Result
{ "Jsonrpc": "2.0", "id": 1, "result": { "address": "gx1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq8rta3w", "accountProof": [ "0xf90211a090dcaf88c40c7bbc95a912cbdde67c175767b31173df9ee4b0d733bfdd511c43a0babe369f6b12092f49181ae04ca173fb68d1a5456f18d20fa32cba73954052bda0473ecf8a7e36a829e75039a3b055e51b8332cbf03324ab4af2066bbd6fbf0021a0bbda34753d7aa6c38e603f360244e8f59611921d9e1f128372fec0d586d4f9e0a04e44caecff45c9891f74f6a2156735886eedf6f1a733628ebc802ec79d844648a0a5f3f2f7542148c973977c8a1e154c4300fec92f755f7846f1b734d3ab1d90e7a0e823850f50bf72baae9d1733a36a444ab65d0a6faaba404f0583ce0ca4dad92da0f7a00cbe7d4b30b11faea3ae61b7f1f2b315b61d9f6bd68bfe587ad0eeceb721a07117ef9fc932f1a88e908eaead8565c19b5645dc9e5b1b6e841c5edbdfd71681a069eb2de283f32c11f859d7bcf93da23990d3e662935ed4d6b39ce3673ec84472a0203d26456312bbc4da5cd293b75b840fc5045e493d6f904d180823ec22bfed8ea09287b5c21f2254af4e64fca76acc5cd87399c7f1ede818db4326c98ce2dc2208a06fc2d754e304c48ce6a517753c62b1a9c1d5925b89707486d7fc08919e0a94eca07b1c54f15e299bd58bd fef9741538c7828b5d7d11a489f9c20d052b3471df475a051f9dd3739a927c89e357580a4c97b40234aa01ed3d5e0390dc982a7975880a0a089d613f26159af43616fd9455bb461f4869bfede26f2130835ed067a8b967bfb80 "," 0xf90211a0395d87a95873cd98c21cf1df9421af03f7247880a2554e20738eec2c7507a494a0bcf6546339a1e7e14eb8fb572a968d217d2a0d1f3bc4257b22ef5333e9e4433ca012ae12498af8b2752c99efce07f3feef8ec910493be749acd63822c3558e6671a0dbf51303afdc36fc0c2d68a9bb05dab4f4917e7531e4a37ab0a153472d1b86e2a0ae90b50f067d9a2244e3d975233c0a0558c39ee152969f6678790abf773a9621a01d65cd682cc1be7c5e38d8da5c942e0a73eeaef10f387340a40a106699d494c3a06163b53d956c55544390c13634ea9aa75309f4fd866f312586942daf0f60fb37a058a52c1e858b1382a8893eb9c1f111f266eb9e21e6137aff0dddea243a567000a037b4b100761e02de63ea5f1fcfcf43e81a372dafb4419d126342136d329b7a7ba032472415864b08f808ba4374092003c8d7c40a9f7f9fe9cc8291f62538e1cc14a074e238ff5ec96b810364515551344100138916594d6af966170ff326a092fab0a0d31ac4eef14a79845200a496662e92186ca8b55e29ed0f9f59dbc6b521b116fea090607784fe73845 8b63c1942bba7c0321ae77e18df4961b2bc66727ea996464ea078f757653c1b63f72aff3dcc3f2a2e4c8cb4a9d36d1117c742833c84e20de994a0f78407de07f4b4cb4f899dfb95eedeb4049aeb5fc1635d65cf2f2f4dfd25d1d7a0862037513ba9d45354dd3e36264aceb2b862ac79d2050f14c95657e43a51b85c80 "," 0xf90171a04ad705ea7bf04339fa36b124fa221379bd5a38ffe9a6112cb2d94be3a437b879a08e45b5f72e8149c01efcb71429841d6a8879d4bbe27335604a5bff8dfdf85dcea00313d9b2f7c03733d6549ea3b810e5262ed844ea12f70993d87d3e0f04e3979ea0b59e3cdd6750fa8b15164612a5cb6567cdfb386d4e0137fccee5f35ab55d0efda0fe6db56e42f2057a071c980a778d9a0b61038f269dd74a0e90155b3f40f14364a08538587f2378a0849f9608942cf481da4120c360f8391bbcc225d811823c6432a026eac94e755534e16f9552e73025d6d9c30d1d7682a4cb5bd7741ddabfd48c50a041557da9a74ca68da793e743e81e2029b2835e1cc16e9e25bd0c1e89d4ccad6980a041dda0a40a21ade3a20fcd1a4abb2a42b74e9a32b02424ff8db4ea708a5e0fb9a09aaf8326a51f613607a8685f57458329b41e938bb761131a5747e066b81a0a16808080a022e6cef138e16d2272ef58434ddf49260dc1de1f8ad6dfca3da5d2a92aaaadc58080 " , "0xf851808080a009833150c367df138f1538689984b8a84fc55692d3d41fe4d1e5720ff5483a6980808080808080808080a0a319c1c415b271afc0adcb664e67738d103ac168e0bc0b7bd2da7966165cb9518080"], "balance": "0x0", "codeHash": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "nonce": "0x0", "storageHash": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", "storageProof": [{ "key": "0x0000000000000000000000000000000000000000000000000000000000000000 ", "value": "0x0", "proof": []}, {"key": "0x00000000000000000000000000000000000000000000000000000000000001", "value": "0x0", "proof": []}]}}
# Web3 Methods
# web3_clientVersion
 Get the web3 client version.
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "web3_clientVersion", "params": []}'
# result
 {"jsonrpc":"2.0","id":1,"result":"Version dev ()\nCompiled at  using Go go1.17.1 (amd64)"}
# web3_sha3
 Returns Keccak-256 (not the standardized SHA3-256) of the given data.
1: input hexutil.Bytes
- Required: ✓ Yes
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "web3_sha3", "params": [<input>]}'
# result
{"jsonrpc":"2.0","id":1,"result":"0x1b84adea42d5b7d192fd8a61a85b25abe0757e9a65cab1da470258914053823f"}
# Net Methods
# net_version
 Returns the current network id.
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"net_version","params":[],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":"520"}
# net_peerCount
 Returns the number of peers currently connected to the client.
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"net_peerCount","params":[],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":23}
# net_listening
 Returns if client is actively listening for network connections.
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"net_listening","params":[],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":true}
# Eth Methods
# eth_protocolVersion
 Returns the current ethereum protocol version.
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_protocolVersion","params":[],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":"0x3f"}
# eth_syncing
 The sync status object may need to be different depending on the details of Tendermint's sync protocol. However, the 'synced' result is simply a boolean, and can easily be derived from Tendermint's internal sync state.
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":false}
# eth_gasPrice
 Returns the current gas price in the default EVM denomination parameter.
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_gasPrice","params":[],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":"0x0"}
# eth_accounts
 Returns array of all eth accounts.
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_accounts","params":[],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":["0x3b7252d007059ffc82d16d022da3cbf9992d2f70","0xddd64b4712f7c8f1ace3c145c950339eddaf221d","0x0f54f47bf9b8e317b214ccd6a7c3e38b893cd7f0"]}
# eth_blockNumber
 Returns the current block height.
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":"0x66"}
# eth_getBalance
 Returns the account balance for a given account address and Block Number.
# Parameters
- Account Address 
- Block Number or Block Hash (EIP-1898 (opens new window)) 
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0x0f54f47bf9b8e317b214ccd6a7c3e38b893cd7f0", "0x0"],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":"0x36354d5575577c8000"}
# eth_getStorageAt
 Returns the storage address for a given account address.
# Parameters
- Account Address 
- Integer of the position in the storage 
- Block Number or Block Hash (EIP-1898 (opens new window)) 
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getStorageAt","params":["0x0f54f47bf9b8e317b214ccd6a7c3e38b893cd7f0", "0", `"latest"`],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":"0x0000000000000000000000000000000000000000000000000000000000000000"}
# eth_getTransactionCount
 Returns the total transaction for a given account address and Block Number.
# Parameters
- Account Address 
- Block Number or Block Hash (EIP-1898 (opens new window)) 
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionCount","params":["0x7bf7b17da59880d9bcca24915679668db75f9397", "0x0"],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":"0x8"}
# eth_getBlockTransactionCountByNumber
 Returns the total transaction count for a given block number.
# Parameters
- Block number
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockTransactionCountByNumber","params":["0x1"],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
 {"jsonrpc":"2.0","id":1,"result":{"difficulty":null,"extraData":"0x0","gasLimit":"0xffffffff","gasUsed":"0x0","hash":"0x8101cc04aea3341a6d4b3ced715e3f38de1e72867d6c0db5f5247d1a42fbb085","logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","miner":"0x0000000000000000000000000000000000000000","nonce":null,"number":"0x17d","parentHash":"0x70445488069d2584fea7d18c829e179322e2b2185b25430850deced481ca2e77","sha3Uncles":null,"size":"0x1df","stateRoot":"0x269bb17fe7adb8dd5f15f57b717979f82078d6b7a675c1ba1b0da2d27e415fcc","timestamp":"0x5f5ba97c","totalDifficulty":null,"transactions":[],"transactionsRoot":"0x","uncles":[]}}
# eth_getBlockTransactionCountByHash
 Returns the total transaction count for a given block hash.
# Parameters
- Block Hash
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockTransactionCountByHash","params":["0x8101cc04aea3341a6d4b3ced715e3f38de1e72867d6c0db5f5247d1a42fbb085"],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":"0x3"}
# eth_getCode
 Returns the code for a given account address and Block Number.
# Parameters
- Account Address 
- Block Number or Block Hash (EIP-1898 (opens new window)) 
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getCode","params":["0x7bf7b17da59880d9bcca24915679668db75f9397", "0x0"],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":"0xef616c92f3cfc9e92dc270d6acff9cea213cecc7020a76ee4395af09bdceb4837a1ebdb5735e11e7d3adb6104e0c3ac55180b4ddf5e54d022cc5e8837f6a4f971b"}
# eth_sign
 The sign method calculates an Ethereum specific signature with: sign(keccak256("\x19Ethereum Signed Message:\n" + len(message) + message))).
By adding a prefix to the message makes the calculated signature recognizable as an Ethereum specific signature. This prevents misuse where a malicious DApp can sign arbitrary data (e.g. transaction) and use the signature to impersonate the victim.
WARNING
The address to sign with must be unlocked.
# Parameters
- Account Address 
- Message to sign 
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_sign","params":["0x3b7252d007059ffc82d16d022da3cbf9992d2f70", "0xdeadbeaf"],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":"0x909809c76ed2a5d38733de39207d0f411222b9b49c64a192bf649cb13f63f37b45acb4f6939facb4f1c277bc70fb00407564140c0f18600ac44388f2c1dfd1dc1b"}
# eth_sendRawTransaction
 Creates new message call transaction or a contract creation for signed transactions.
You can get signed transaction data using the personal_sign method.
# Parameters
- The signed transaction data
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_sendRawTransaction","params":["0xf9ff74c86aefeb5f6019d77280bbb44fb695b4d45cfe97e6eed7acd62905f4a85034d5c68ed25a2e7a8eeb9baf1b8401e4f865d92ec48c1763bf649e354d900b1c"],"id":1}'  -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":"0x0000000000000000000000000000000000000000000000000000000000000000"}
# eth_call
 Executes a new message call immediately without creating a transaction on the block chain.
# Parameters
- Object containing: - from:- DATA, 20 Bytes - (optional) The address the transaction is sent from.- to:- DATA, 20 Bytes - The address the transaction is directed to.- gas: QUANTITY - gas provided for the transaction execution. eth_call consumes zero gas, but this parameter may be needed by some executions.- gasPrice: QUANTITY - gasPrice used for each paid gas- value: QUANTITY - value sent with this transaction- data:- DATA- (optional) Hash of the method signature and encoded parameters. For details see Ethereum Contract ABI in the Solidity documentation
- Block number or Block Hash (EIP-1898 (opens new window)) 
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_call","params":[{"from":"0x3b7252d007059ffc82d16d022da3cbf9992d2f70", "to":"0xddd64b4712f7c8f1ace3c145c950339eddaf221d", "gas":"0x5208", "gasPrice":"0x55ae82600", "value":"0x16345785d8a0000", "data": "0xd46e8dd67c5d32be8d46e8dd67c5d32be8058bb8eb970870f072445675058bb8eb970870f072445675"}, "0x0"],"id":1}'  -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":"0x"}
# eth_estimateGas
 Returns an estimate value of the gas required to send the transaction.
# Parameters
- Object containing: - from:- DATA, 20 Bytes - The address the transaction is send from.- to:- DATA, 20 Bytes - (optional when creating new contract) The address the transaction is directed to.- value:- QUANTITY- value sent with this transaction
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_estimateGas","params":[{"from":"0x0f54f47bf9b8e317b214ccd6a7c3e38b893cd7f0", "to":"0x3b7252d007059ffc82d16d022da3cbf9992d2f70", "value":"0x16345785d8a00000"}],"id":1}'  -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":"0x1199b"}
# eth_getBlockByNumber
 Returns information about a block by block number.
# Parameters
- Block Number 
- If true it returns the full transaction objects, if false only the hashes of the transactions. 
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockByNumber","params":["0x1", false],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":{"difficulty":null,"extraData":"0x0","gasLimit":"0xffffffff","gasUsed":null,"hash":"0xabac6416f737a0eb54f47495b60246d405d138a6a64946458cf6cbeae0d48465","logsBloom":"0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000","miner":"0x0000000000000000000000000000000000000000","nonce":null,"number":"0x1","parentHash":"0x","sha3Uncles":null,"size":"0x9b","stateRoot":"0x","timestamp":"0x5f5bd3e5","totalDifficulty":null,"transactions":[],"transactionsRoot":"0x","uncles":[]}}
# eth_getBlockByHash
 Returns the block info given the hash found in the command above and a bool.
# Parameters
- Hash of a block. 
- If true it returns the full transaction objects, if false only the hashes of the transactions. 
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getBlockByHash","params":["0x1b9911f57c13e5160d567ea6cf5b545413f96b95e43ec6e02787043351fb2cc4", false],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":{"difficulty":null,"extraData":"0x0","gasLimit":"0xffffffff","gasUsed":null,"hash":"0x1b9911f57c13e5160d567ea6cf5b545413f96b95e43ec6e02787043351fb2cc4","logsBloom":"0x00000000100000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000002000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000","miner":"0x0000000000000000000000000000000000000000","nonce":null,"number":"0xc","parentHash":"0x404e58f31a9ede1b614b98701d6b0fbf1450f186842dbcf6426dd16811a5ca0d","sha3Uncles":null,"size":"0x307","stateRoot":"0x599ccdb111fc62c6398dc39be957df8e97bf8ab72ce6c06ff10641a92b754627","timestamp":"0x5f5fdbbd","totalDifficulty":null,"transactions":["0xae64961cb206a9773a6e5efeb337773a6fd0a2085ce480a174135a029afea615"],"transactionsRoot":"0x4764dba431128836fa919b83d314ba9cc000e75f38e1c31a60484409acea777b","uncles":[]}}
# eth_getTransactionByHash
 Returns transaction details given the ethereum tx something.
# Parameters
- hash of a transaction
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionByHash","params":["0xec5fa15e1368d6ac314f9f64118c5794f076f63c02e66f97ea5fe1de761a8973"],"id":1}' -H "Content-Type: application/json" http://localhost:8545
 
// Result
{"jsonrpc":"2.0","id":1,"result":{"blockHash":"0x7a7398cc11d9c4c8e6f53e0c73824297aceafdab62db9e4b867a0da694384864","blockNumber":"0x188","from":"0x3b7252d007059ffc82d16d022da3cbf9992d2f70","gas":"0x147ee","gasPrice":"0x3b9aca00","hash":"0xec5fa15e1368d6ac314f9f64118c5794f076f63c02e66f97ea5fe1de761a8973","input":"0x6dba746c","nonce":"0x18","to":"0xa655256f589060437e5ffe2246dec385d040f148","transactionIndex":"0x0","value":"0x0","v":"0xa96","r":"0x6db399d694a452fb4106419140a6e5dbbe6817743a0f6f695a651e6576e59a5e","s":"0x25dd6ab1f936d0280d2fed0caeb0ebe5b9a46de6d8cb08ad8fd2c88deb55fc31"}}
# eth_getTransactionByBlockHashAndIndex
 Returns transaction details given the block hash and the transaction index.
# Parameters
- Hash of a block. 
- Transaction index position. 
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionByBlockHashAndIndex","params":["0x1b9911f57c13e5160d567ea6cf5b545413f96b95e43ec6e02787043351fb2cc4", "0x0"],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":{"blockHash":"0x1b9911f57c13e5160d567ea6cf5b545413f96b95e43ec6e02787043351fb2cc4","blockNumber":"0xc","from":"0xddd64b4712f7c8f1ace3c145c950339eddaf221d","gas":"0x4c4b40","gasPrice":"0x3b9aca00","hash":"0xae64961cb206a9773a6e5efeb337773a6fd0a2085ce480a174135a029afea615","input":"0x4f2be91f","nonce":"0x0","to":"0x439c697e0742a0ddb124a376efd62a72a94ac35a","transactionIndex":"0x0","value":"0x0","v":"0xa96","r":"0xced57d973e58b0f634f776d57daf41d3d3387ceb347a3a72ca0746e5ec2b709e","s":"0x384e89e209a5eb147a2bac3a4e399507400ac7b29cd155531f9d6203a89db3f2"}}
# eth_getTransactionReceipt
 Returns the receipt of a transaction by transaction hash.
Note: Tx Code from Tendermint and the Ethereum receipt status are switched:
| Tendermint | Ethereum | |
|---|---|---|
| Success | 0 | 1 | 
| Fail | 1 | 0 | 
# Parameters
- Hash of a transaction
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getTransactionReceipt","params":["0xae64961cb206a9773a6e5efeb337773a6fd0a2085ce480a174135a029afea614"],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":{"blockHash":"0x1b9911f57c13e5160d567ea6cf5b545413f96b95e43ec6e02787043351fb2cc4","blockNumber":"0xc","contractAddress":"0x0000000000000000000000000000000000000000","cumulativeGasUsed":null,"from":"0xddd64b4712f7c8f1ace3c145c950339eddaf221d","gasUsed":"0x5289","logs":[{"address":"0x439c697e0742a0ddb124a376efd62a72a94ac35a","topics":["0x64a55044d1f2eddebe1b90e8e2853e8e96931cefadbfa0b2ceb34bee36061941"],"data":"0x0000000000000000000000000000000000000000000000000000000000000002","blockNumber":"0xc","transactionHash":"0xae64961cb206a9773a6e5efeb337773a6fd0a2085ce480a174135a029afea615","transactionIndex":"0x0","blockHash":"0x0000000000000000000000000000000000000000000000000000000000000000","logIndex":"0x0","removed":false},{"address":"0x439c697e0742a0ddb124a376efd62a72a94ac35a","topics":["0x938d2ee5be9cfb0f7270ee2eff90507e94b37625d9d2b3a61c97d30a4560b829"],"data":"0x0000000000000000000000000000000000000000000000000000000000000002","blockNumber":"0xc","transactionHash":"0xae64961cb206a9773a6e5efeb337773a6fd0a2085ce480a174135a029afea615","transactionIndex":"0x0","blockHash":"0x0000000000000000000000000000000000000000000000000000000000000000","logIndex":"0x1","removed":false}],"logsBloom":"0x00000000100000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000040000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000004000000000000002000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000","status":"0x1","to":"0x439c697e0742a0ddb124a376efd62a72a94ac35a","transactionHash":"0xae64961cb206a9773a6e5efeb337773a6fd0a2085ce480a174135a029afea615","transactionIndex":"0x0"}}
# eth_newFilter
 Create new filter using topics of some kind.
# Parameters
- hash of a transaction
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_newFilter","params":[{"topics":["0x0000000000000000000000000000000000000000000000000000000012341234"]}],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":"0xdc714a4a2e3c39dc0b0b84d66a3ccb00"}
# eth_newBlockFilter
 Creates a filter in the node, to notify when a new block arrives.
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_newBlockFilter","params":[],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":"0x3503de5f0c766c68f78a03a3b05036a5"}
# eth_newPendingTransactionFilter
 Creates a filter in the node, to notify when new pending transactions arrive.
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_newPendingTransactionFilter","params":[],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":"0x9daacfb5893d946997d3801ea18e9902"}
# eth_uninstallFilter
 Removes the filter with the given filter id. Returns true if the filter was successfully uninstalled, otherwise false.
# Parameters
- The filter id
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_uninstallFilter","params":["0xb91b6608b61bf56288a661a1bd5eb34a"],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":true}
# eth_getFilterChanges
 Polling method for a filter, which returns an array of logs which occurred since last poll.
# Parameters
- The filter id
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getFilterChanges","params":["0x127e9eca4f7751fb4e5cb5291ad8b455"],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":["0xc6f08d183a81e149896fc5317c872f9092068e88e956ca1864e9bd4c81c09b44","0x3ca6dfb5be15549d721d1b3d10c1bec50ed6217c9ac7b61df361fac9692a27e5","0x776fffac134171acb1ebf2e59856625501ad5ccc5c4c8fe0359e0d4dff8919f2","0x84123103704dbd738c089276ab2b04b5936330b24f6e78453c4ba8bf4848aaf9","0xffddbe5bd8e8aa41e44002daa9ea89ade9e6980a0d83f51d104cf16498827eca","0x53430e49963e8ae32605d8f22dec2e757a691e6436d593854ca4d9383eeab86a","0x975948058c9351a91fbec332ca00dda39d1a919f5f16b996a4c7e30c38ba423b","0x619e37e32024c8efef7f7220e6caff4ee1d682ea78b2ac91e0a6b30850dc0677","0x31a5d985a40d08303ac68000ce008df512bcd1a911c497415c97f0624b4a271a","0x91dcf1fce4503a8dbb3e6fb61073f25cd31d69c766ecba639fefde4436e59d07","0x606d9e0143cfdb410a6812c590a8135b5c6b5c59eec26d760d5cd930aa47257d","0xd3c00b859b29b20ba654415eef648ef58251389c73a138580db87675b0d5465f","0x954391f0eb50888be90489898016ebb54f750f612f3adec2a00854955d5e52d8","0x698905f06aff921a9e9fcef39b8b0d107747c3e6204d2ea79cf4c12debf8d253","0x9fcafec5721938a06eb8e2951ede4b6ef8fae54a8c8f85f3166ec9782a0032b5","0xaec6d3364e47a5716ba69e4705f3c705d017f81298859589591183bfea87be7a","0x91bf2ee13319b6eaca96ed89c126437b66c4df1b13560c6a9bb18556ee3b7e1f","0x4f426dc1fc0ea8149052033065b237892d2d34927b2d558ab50c5a7fb98d6e79","0xdd809fb07e5aab638fef5311371b4e2b27c9c9a6183fde0cdd2b7724f6d2a89b","0x7e12fc92ab953e233a304959a2a8474d96195e71efd9388fdceb1326a577811a","0x30618ef6b490c3cc9979c47163459db37c1a1e0aa5793c56accd417f9d89973b","0x614609f06ee24bae7408e45895b1a25e6b19a8159aeea7a95c9d1339d9ba286f","0x115ddc6d533620040791d241f01f1c5ae3d9d1a8f64b15af5e9793e4d9096e22","0xb7458c9323beeca2cd54f32a6af5671f3cd5a7a251aed9d82bdd6ebe5f56305b","0x573dd48a5ba7bf4cc3d49597cd7419f75ecc9897258f1ebadebd670446d0d358","0xcb6670918439f9698413b53f3b5336d82ca4be152fdefaacf45e052fff6262fc","0xf3fe2a8945abafd269ab97bfdc80b3dbff2202ffdce59a227f952874b966b230","0x989980707007533cc0840a079f77f261a2e818abae1a1ffd3af02f3fff1d35fd","0x886b6ae365fec996be8a9a2c31cf4cda97ff8352908be2c83f17abd66ef1591e","0xfd90df68706ef95a62b317de93d6899a9bd6c80416e42d007f5c30fcdedfce24","0x7af8491fbb0373886d9032bb74e0ef52ed9e100f260b79bd15f46126b38cbede","0x91d1e2cd55533cf7dd5de86c9aa73295e811b1279be193d429bbd6ba83810e16","0x6b65b3128c2104005a04923288fe2aa33a2477a4962bef70532f94cab582f2a7"]}
# eth_getFilterLogs
 Returns an array of all logs matching filter with given id.
# Parameters
- QUANTITY- The filter id
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getFilterLogs","params":["0x127e9eca4f7751fb4e5cb5291ad8b455"],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"error":{"code":-32000,"message":"filter 0x35b64c227ce30e84fc5c7bd347be380e doesn't have a LogsSubscription type: got 5"}} 
# eth_getLogs
 Returns an array of all logs matching a given filter object.
# Parameters
- Object containing: - fromBlock:- QUANTITY|TAG- (optional, default:- "latest") Integer block number, or- "latest"for the last mined block or- "pending",- "earliest"for not yet mined transactions.- toBlock:- QUANTITY|TAG- (optional, default:- "latest") Integer block number, or- "latest"for the last mined block or- "pending",- "earliest"for not yet mined transactions.- address:- DATA|Array, 20 Bytes - (optional) Contract address or a list of addresses from which logs should originate.- topics: Array of- DATA, - (optional) Array of 32 Bytes- DATAtopics. Topics are order-dependent. Each topic can also be an array of- DATAwith “or” options.- blockhash: (optional, future) With the addition of EIP-234 (opens new window),- blockHashwill be a new filter option which restricts the logs returned to the single block with the 32-byte hash- blockHash. Using- blockHashis equivalent to- fromBlock=- toBlock= the block number with hash- blockHash. If- blockHashis present in in the filter criteria, then neither- fromBlocknor- toBlockare allowed.
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getLogs","params":[{"topics":["0x775a94827b8fd9b519d36cd827093c664f93347070a554f65e4a6f56cd738898","0x0000000000000000000000000000000000000000000000000000000000000011"], "fromBlock":`"latest"`}],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":[]}
# eth_coinbase
Returns the account the mining rewards will be send to.
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_coinbase","params":[],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":"0x7cB61D4117AE31a12E393a1Cfa3BaC666481D02E"}
# eth_getProof
Returns the account- and storage-values of the specified account including the Merkle-proof.
# Parameters
- Address of account or contract 
- Integer of the position in the storage 
- Block Number or Block Hash (EIP-1898 (opens new window)) 
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"eth_getProof","params":["0x1234567890123456789012345678901234567890",["0x0000000000000000000000000000000000000000000000000000000000000000","0x0000000000000000000000000000000000000000000000000000000000000001"],`"latest"`],"id":1}' -H "Content-type:application/json" http://localhost:8545
// Result
{"jsonrpc": "2.0", "id": 1, "result": {"address": "0x1234567890123456789012345678901234567890", "accountProof": ["0xf90211a090dcaf88c40c7bbc95a912cbdde67c175767b31173df9ee4b0d733bfdd511c43a0babe369f6b12092f49181ae04ca173fb68d1a5456f18d20fa32cba73954052bda0473ecf8a7e36a829e75039a3b055e51b8332cbf03324ab4af2066bbd6fbf0021a0bbda34753d7aa6c38e603f360244e8f59611921d9e1f128372fec0d586d4f9e0a04e44caecff45c9891f74f6a2156735886eedf6f1a733628ebc802ec79d844648a0a5f3f2f7542148c973977c8a1e154c4300fec92f755f7846f1b734d3ab1d90e7a0e823850f50bf72baae9d1733a36a444ab65d0a6faaba404f0583ce0ca4dad92da0f7a00cbe7d4b30b11faea3ae61b7f1f2b315b61d9f6bd68bfe587ad0eeceb721a07117ef9fc932f1a88e908eaead8565c19b5645dc9e5b1b6e841c5edbdfd71681a069eb2de283f32c11f859d7bcf93da23990d3e662935ed4d6b39ce3673ec84472a0203d26456312bbc4da5cd293b75b840fc5045e493d6f904d180823ec22bfed8ea09287b5c21f2254af4e64fca76acc5cd87399c7f1ede818db4326c98ce2dc2208a06fc2d754e304c48ce6a517753c62b1a9c1d5925b89707486d7fc08919e0a94eca07b1c54f15e299bd58bdfef9741538c7828b5d7d11a489f9c20d052b3471df475a051f9dd3739a927c89e357580a4c97b40234aa01ed3d5e0390dc982a7975880a0a089d613f26159af43616fd9455bb461f4869bfede26f2130835ed067a8b967bfb80", "0xf90211a0395d87a95873cd98c21cf1df9421af03f7247880a2554e20738eec2c7507a494a0bcf6546339a1e7e14eb8fb572a968d217d2a0d1f3bc4257b22ef5333e9e4433ca012ae12498af8b2752c99efce07f3feef8ec910493be749acd63822c3558e6671a0dbf51303afdc36fc0c2d68a9bb05dab4f4917e7531e4a37ab0a153472d1b86e2a0ae90b50f067d9a2244e3d975233c0a0558c39ee152969f6678790abf773a9621a01d65cd682cc1be7c5e38d8da5c942e0a73eeaef10f387340a40a106699d494c3a06163b53d956c55544390c13634ea9aa75309f4fd866f312586942daf0f60fb37a058a52c1e858b1382a8893eb9c1f111f266eb9e21e6137aff0dddea243a567000a037b4b100761e02de63ea5f1fcfcf43e81a372dafb4419d126342136d329b7a7ba032472415864b08f808ba4374092003c8d7c40a9f7f9fe9cc8291f62538e1cc14a074e238ff5ec96b810364515551344100138916594d6af966170ff326a092fab0a0d31ac4eef14a79845200a496662e92186ca8b55e29ed0f9f59dbc6b521b116fea090607784fe738458b63c1942bba7c0321ae77e18df4961b2bc66727ea996464ea078f757653c1b63f72aff3dcc3f2a2e4c8cb4a9d36d1117c742833c84e20de994a0f78407de07f4b4cb4f899dfb95eedeb4049aeb5fc1635d65cf2f2f4dfd25d1d7a0862037513ba9d45354dd3e36264aceb2b862ac79d2050f14c95657e43a51b85c80", "0xf90171a04ad705ea7bf04339fa36b124fa221379bd5a38ffe9a6112cb2d94be3a437b879a08e45b5f72e8149c01efcb71429841d6a8879d4bbe27335604a5bff8dfdf85dcea00313d9b2f7c03733d6549ea3b810e5262ed844ea12f70993d87d3e0f04e3979ea0b59e3cdd6750fa8b15164612a5cb6567cdfb386d4e0137fccee5f35ab55d0efda0fe6db56e42f2057a071c980a778d9a0b61038f269dd74a0e90155b3f40f14364a08538587f2378a0849f9608942cf481da4120c360f8391bbcc225d811823c6432a026eac94e755534e16f9552e73025d6d9c30d1d7682a4cb5bd7741ddabfd48c50a041557da9a74ca68da793e743e81e2029b2835e1cc16e9e25bd0c1e89d4ccad6980a041dda0a40a21ade3a20fcd1a4abb2a42b74e9a32b02424ff8db4ea708a5e0fb9a09aaf8326a51f613607a8685f57458329b41e938bb761131a5747e066b81a0a16808080a022e6cef138e16d2272ef58434ddf49260dc1de1f8ad6dfca3da5d2a92aaaadc58080", "0xf851808080a009833150c367df138f1538689984b8a84fc55692d3d41fe4d1e5720ff5483a6980808080808080808080a0a319c1c415b271afc0adcb664e67738d103ac168e0bc0b7bd2da7966165cb9518080"], "balance": "0x0", "codeHash": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "nonce": "0x0", "storageHash": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", "storageProof": [{"key": "0x0000000000000000000000000000000000000000000000000000000000000000", "value": "0x0", "proof": []}, {"key": "0x0000000000000000000000000000000000000000000000000000000000000001", "value": "0x0", "proof": []}]}}
# WebSocket Methods
Read about websockets in events
# eth_subscribe
 subscribe using JSON-RPC notifications. This allows clients to wait for events instead of polling for them.
It works by subscribing to particular events. The node will return a subscription id. For each event that matches the subscription a notification with relevant data is send together with the subscription id.
# Parameters
- Subscription Name 
- Optional Arguments 
// Request
{"id": 1, "method": "eth_subscribe", "params": ["newHeads", {"includeTransactions": true}]}
// Result
< {"jsonrpc":"2.0","result":"0x34da6f29e3e953af4d0c7c58658fd525","id":1}
# eth_unsubscribe
 Unsubscribe from an event using the subscription id
# Parameters
- Subscription ID
// Request
{"id": 1, "method": "eth_unsubscribe", "params": ["0x34da6f29e3e953af4d0c7c58658fd525"]}
// Result
{"jsonrpc":"2.0","result":true,"id":1}
# Personal Methods
# personal_importRawKey
 TIP
Private: Requires authentication.
Imports the given unencrypted private key (hex encoded string) into the key store, encrypting it with the passphrase.
Returns the address of the new account.
# Parameters (2)
1: privkey string
- Required: ✓ Yes
2: password string
- Required: ✓ Yes
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"personal_importRawKey","params":["c5bd76cd0cd948de17a31261567d219576e992d9066fe1a6bca97496dec634e2c8e06f8949773b300b9f73fabbbc7710d5d6691e96bcf3c9145e15daf6fe07b9", "the key is this"],"id":1}' -H "Content-Type: application/json" http://localhost:8545
# personal_listAccounts
 TIP
Private: Requires authentication.
Returns a list of addresses for accounts this node manages.
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"personal_listAccounts","params":[],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":["0x3b7252d007059ffc82d16d022da3cbf9992d2f70","0xddd64b4712f7c8f1ace3c145c950339eddaf221d","0x0f54f47bf9b8e317b214ccd6a7c3e38b893cd7f0"]}
# personal_lockAccount
 TIP
Private: Requires authentication.
Removes the private key with given address from memory. The account can no longer be used to send transactions.
# Parameters
- Account Address
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"personal_lockAccount","params":["0x0f54f47bf9b8e317b214ccd6a7c3e38b893cd7f0"],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":true}
# personal_newAccount
 TIP
Private: Requires authentication.
Generates a new private key and stores it in the key store directory. The key file is encrypted with the given passphrase. Returns the address of the new account.
# Parameters
- Passphrase
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"personal_newAccount","params":["This is the passphrase"],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":"0xf0e4086ad1c6aab5d42161d5baaae2f9ad0571c0"}
# personal_unlockAccount
 TIP
Private: Requires authentication.
Decrypts the key with the given address from the key store.
Both passphrase and unlock duration are optional when using the JavaScript console. The unencrypted key will be held in memory until the unlock duration expires. If the unlock duration defaults to 300 seconds. An explicit duration of zero seconds unlocks the key until geth exits.
The account can be used with eth_sign and eth_sendTransaction while it is unlocked.
# Parameters
- Account Address 
- Passphrase 
- Duration 
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"personal_unlockAccount","params":["0x0f54f47bf9b8e317b214ccd6a7c3e38b893cd7f0", "secret passphrase", 30],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":true}
# personal_sendTransaction
 TIP
Private: Requires authentication.
Validate the given passphrase and submit transaction.
The transaction is the same argument as for eth_sendTransaction and contains the from address. If the passphrase can be used to decrypt the private key belonging to tx.from the transaction is verified, signed and send onto the network.
WARNING
The account is not unlocked globally in the node and cannot be used in other RPC calls.
# Parameters
- Object containing: - from:- DATA, 20 Bytes - The address the transaction is send from.- to:- DATA, 20 Bytes - (optional when creating new contract) The address the transaction is directed to.- value: QUANTITY - value sent with this transaction
- Passphrase 
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"personal_sendTransaction","params":[{"from":"0x3b7252d007059ffc82d16d022da3cbf9992d2f70","to":"0xddd64b4712f7c8f1ace3c145c950339eddaf221d", "value":"0x16345785d8a0000"}, "passphrase"],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":"0xd2a31ec1b89615c8d1f4d08fe4e4182efa4a9c0d5758ace6676f485ea60e154c"}
# personal_sign
 TIP
Private: Requires authentication.
The sign method calculates an Ethereum specific signature with: sign(keccack256("\x19Ethereum Signed Message:\n" + len(message) + message))),
# Parameters
- Message 
- Account Address 
- Password 
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"personal_sign","params":["0xdeadbeaf", "0x3b7252d007059ffc82d16d022da3cbf9992d2f70", "password"],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":"0xf9ff74c86aefeb5f6019d77280bbb44fb695b4d45cfe97e6eed7acd62905f4a85034d5c68ed25a2e7a8eeb9baf1b8401e4f865d92ec48c1763bf649e354d900b1c"}
# personal_ecRecover
 TIP
Private: Requires authentication.
ecRecover returns the address associated with the private key that was used to calculate the signature in personal_sign.
# Parameters
- Message 
- Signature returned from - personal_sign
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"personal_ecRecover","params":["0xdeadbeaf", "0xf9ff74c86aefeb5f6019d77280bbb44fb695b4d45cfe97e6eed7acd62905f4a85034d5c68ed25a2e7a8eeb9baf1b8401e4f865d92ec48c1763bf649e354d900b1c"],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":"0x3b7252d007059ffc82d16d022da3cbf9992d2f70"}
# personal_initializeWallet
 TIP
Private: Requires authentication.
Initializes a new wallet at the provided URL, by generating and returning a new private key.
# Parameters (1)
Parameters must be given by position.
1: url string
- Required: ✓ Yes
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "personal_initializeWallet", "params": [<url>]}'
# personal_unpair
 TIP
Private: Requires authentication.
Unpair deletes a pairing between wallet and the node.
# Parameters (2)
- URL 
- Pairing password 
curl -X POST -H "Content-Type: application/json" http://localhost:8545 --data '{"jsonrpc": "2.0", "id": 42, "method": "personal_unpair", "params": [<url>, <pin>]}'
# Debug Methods
# debug_traceTransaction
 The traceTransaction debugging method will attempt to run the transaction in the exact same manner as it was executed on the network. It will replay any transaction that may have been executed prior to this one before it will finally attempt to execute the transaction that corresponds to the given hash.
# Parameters
- Trace Config
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"debug_traceTransaction","params":["0xddecdb13226339681372b44e01df0fbc0f446fca6f834b2de5ecb1e569022ec8", {"tracer": "{data: [], fault: function(log) {}, step: function(log) { if(log.op.toString() == \"CALL\") this.data.push(log.stack.peek(0)); }, result: function() { return this.data; }}"}],"id":1}' -H "Content-Type: application/json" http://localhost:8545
//Result
["68410", "51470"]
# debug_traceBlockByNumber
 The traceBlockByNumber endpoint accepts a block number and will replay the block that is already present in the database.
# Parameters
- Trace Config
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"debug_traceBlockByNumber","params":["0xe", {"tracer": "{data: [], fault: function(log) {}, step: function(log) { if(log.op.toString() == \"CALL\") this.data.push(log.stack.peek(0)); }, result: function() { return this.data; }}"}],"id":1}' -H "Content-Type: application/json" http://localhost:8545
//Result
{"jsonrpc":"2.0","id":1,"result":[{"result":["68410", "51470"]}]}
# Miner Methods
# miner_getHashrate
 TIP
Private: Requires authentication.
Get the hashrate in H/s (Hash operations per second).
WARNING
Proof-of-Work specific. This endpoint always returns 0.
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"miner_setGasPrice","params":[],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":0}
# miner_setExtra
 TIP
Private: Requires authentication.
Sets the extra data a validator can include when proposing blocks. This is capped at 32 bytes.
WARNING
Unsupported. This endpoint always returns an error
# Parameters
- Data
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"miner_setExtra","params":["data"],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":false}
# miner_setGasPrice
 TIP
Private: Requires authentication.
Sets the minimal gas price used to accept transactions. Any transaction below this limit is excluded from the validator block proposal process.
This method requires a node restart after being called because it changes the configuration file.
Make sure your evmosd start call is not using the flag minimum-gas-prices because this value will be used instead of the one set on the configuration file.
# Parameters
- Hex Gas Price
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"miner_setGasPrice","params":["0x0"],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":true}
# miner_start
 TIP
Private: Requires authentication.
Start the CPU validation process with the given number of threads.
WARNING
Unsupported. This endpoint always returns an error
# Parameters
- Hex Number of threads
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"miner_start","params":["0x1"],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":false}
# miner_stop
 TIP
Private: Requires authentication.
Stop the validation operation.
WARNING
Unsupported. This endpoint always performs a no-op.
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"miner_stop","params":[],"id":1}' -H "Content-Type: application/json" http://localhost:8545
# miner_setGasLimit
 TIP
Private: Requires authentication.
Sets the gas limit the miner will target when mining. Note: on networks where EIP-1559 (opens new window) is activated, this should be set to twice what you want the gas target (i.e. the effective gas used on average per block) to be.
WARNING
Unsupported. This endpoint always returns false
# Parameters
- Hex gas limit
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"miner_start","params":["0x10000"],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":false}
# Parameters
- Hex Number of threads
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"miner_start","params":["0x1"],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":false}
# miner_setEtherbase
 TIP
Private: Requires authentication.
Sets the etherbase. It changes the wallet where the validator rewards will be deposited.
# Parameters
- Account Address
// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"miner_setEtherbase","params":["0x3b7252d007059ffc82d16d022da3cbf9992d2f70"],"id":1}' -H "Content-Type: application/json" http://localhost:8545
// Result
{"jsonrpc":"2.0","id":1,"result":true}
# TxPool Methods
d79323fb0f7dd4dd7b9baf4a27f51c8e5ac75472