# JSON-RPC 方法

检查 Plug Chain 上支持的 JSON-RPC 方法和开关。

# json-rpc服务端口、激活方式和配置

可以在 ~/.plugchain/config/app.toml 中配置:

  • enable = true|false 字段定义了 json-rpc 服务是否可用,默认为 true
  • address = {string} 字段定义了服务绑定的地址(实际上是端口,因为主机必须保持为 0.0.0.0),默认为 0.0.0.0:8545
  • api = {string} 字段定义服务的开放api命名空间

# 方法命名空间

Namespace Description Supported Enabled by Default
rpc The rpc namespace that interacts with the gx prefix address, the prefix will successively implement all JSON-RPC of ETH .
eth Evmos provides several extensions to the standard eth JSON-RPC namespace.
web3 The web3 API provides utility functions for the web3 client.
net The net API provides access to network information of the node
clique The clique API 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 debug API 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 les API 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 miner API allows you to remote control the node’s mining operation and set various mining specific settings.
txpool The txpool API 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 admin API 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 personal API manages private keys in the key store.

# 端点

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_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

注意

块号可以输入为十六进制字符串,"earliest""latest""pending"

下面是 JSON_RPC 方法、参数和来自命名空间的示例响应的列表。

# Rpc Methods

# rpc_syncing

同步状态对象可能需要根据 Tendermint 同步协议的详细信息而有所不同。然而,同步结果只是一个布尔值,可以很容易地从 Tendermint 的内部同步状态中导出。

// 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

返回EIP155规则的链ID

// 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

返回默认 PVM 面额参数中的当前 gas 价格。

// 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

返回所有帐户的数组。

// 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

返回当前块高度。

// 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

返回给定帐户地址和块号的帐户余额。

# 参数

  • bech32 Address

  • Block Number or 块hash(0x...........)

// 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

返回给定帐户地址的帐户合约代币余额。

# 参数

  • bech32 Address

  • contract Address

// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"rpc_balanceOf","params":[{"from":"gx1vt7svcst6982ka4c3ufxmqrs05a9e9eq676tyv", "to":"gx1n4m7gafr6cxtj8q4w9mm3480ar4gq3t95k6he9"}, "latest"],"id":1}'  -H "Content-Type: application/json" http://localhost:8545

// Result
{"jsonrpc":"2.0","id":1,"result":1000000000000000000000000}

# rpc_prc20TokenInfo

返回给定合约地址的prc20标准合约的基础信息

# 参数

  • 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":1000000000000000000000000}}

# rpc_addressTranslation

返回给定bech32,hex,eip55 地址的转换类型

# 参数

  • 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

返回给定帐户地址的存储地址。

# 参数

  • bech32 Address

  • Block Number or Block Hash

  • 存储位置的整数

  • Block Number or 块hash(0x...........)

// 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":"0x0000000000000000000000000000000000000000000000000000000000000000"}

# rpc_getTransactionCount

返回给定帐户地址和块号的总交易量。

# 参数

  • bech32 Address

  • Block Number or 块hash(0x...........)

// 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

返回给定块号的总交易计数。

# 参数

  • 块高(0x0)
// 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

返回给定块哈希的总交易计数。

# 参数

  • 块hash(0x...........)
// 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

返回给定帐户地址和块号的代码。

# 参数

  • bech32 Address

  • Block Number or 块hash(0x...........)

// 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":"0xef616c92f3cfc9e92dc270d6acff9cea213cecc7020a76ee4395af09bdceb4837a1ebdb5735e11e7d3adb6104e0c3ac55180b4ddf5e54d022cc5e8837f6a4f971b"}

# rpc_getTransactionLogs

返回给定hash的交易log日志

# 参数

  • 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

sign 方法计算以太坊特定的签名:sign(keccak256("\x19Ethereum Signed Message:\n" + len(message) + message)))

通过在消息中添加前缀,可以将计算出的签名识别为以太坊特定的签名。这可以防止恶意 DApp 可以签署任意数据(例如交易)并使用签名来冒充受害者的滥用行为。

注意

用于签名的地址必须解锁。

# 参数

  • bech32 Address

  • 要签名的信息 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

为已签名的交易创建新的消息调用交易或合同创建。

# 参数

  • 签署的交易数据
// 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":"0x0000000000000000000000000000000000000000000000000000000000000000"}

# rpc_call

立即执行新的消息调用,而不在区块链上创建交易。

# 参数

  • 交易对象:

    from: DATA, 20 Bytes - (可选)发送交易的地址。

    to: DATA, 20 Bytes - 交易被定向到的地址。

    gas: QUANTITY - 为交易执行提供的气体。 rpc_call 消耗零气体,但某些执行可能需要此参数。

    gasPrice: QUANTITY - 用于每个付费gas的gasPrice

    value: QUANTITY - 与此交易一起发送的值

    data: DATA - 可选)方法签名和编码参数的哈希。有关详细信息,请参阅 Solidity 文档中的以太坊合约 ABI

  • 块高(0x0) or 块hash(0x...........)

// 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

返回发送交易所需气体的估计值。

# 参数

  • 交易对象:

    from: DATA, 20 Bytes - 发送交易的地址。

    to: DATA, 20 Bytes - (创建新合约时可选)交易指向的地址。

    value: QUANTITY - 与此交易一起发送的值

// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"rpc_estimateGas","params":[{"from":"gx1vt7svcst6982ka4c3ufxmqrs05a9e9eq676tyv", "to":"gx1n4m7gafr6cxtj8q4w9mm3480ar4gq3t95k6he9", "value":"0x30"}],"id":1}'  -H "Content-Type: application/json" http://localhost:8545

// Result
{"jsonrpc":"2.0","id":1,"result":"0x1199b"}

# rpc_getBlockByNumber

按块号返回有关块的信息。

# 参数

  • 块号

  • true|false 如果为 true,则返回完整的交易对象,如果为 false,则仅返回交易的哈希值。

// 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

返回给定上面命令中的哈希值和一个布尔值,锁定信息。

# 参数

  • 块hash.

  • true|false 如果为 true,则返回完整的交易对象,如果为 false,则仅返回交易的哈希值。

// 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":"0x0b6593fb90b0c063236ba6c658030f47fe1fbcfc9098b36ed6a4b462077ea9bf","receiptsRoot":"0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x1714","stateRoot":"0xbfbfe1aa039288795aa33ac4bd5281927712fa9e1232cbb5a179ed0a9aa1a430","timestamp":"0x6262243f","totalDifficulty":"0x0","transactions":["0xaa90d5fe351a053dc17241da083857842010a3e2b344ada381cca73d8b3965e9"],"transactionsRoot":"0x2b7666f8dde9d3fafa4573f751d1e084765f66aca3f1d78bb106ff526eab335c","uncles":[]}}

# rpc_getTransactionByHash

返回给定 tx hash 的交易细节。

# 参数

  • 交易的哈希
// 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

通过交易哈希返回交易的收据。

注意: Tendermint 的 Tx Code 和 Ethereum 收据状态被切换:

Tendermint Rpcereum
Success 0 1
Fail 1 0

# 参数

  • 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,"cumulativeGasUsed":"0x6dc2","from":"gx1vt7svcst6982ka4c3ufxmqrs05a9e9eq676tyv","gasUsed":"0x6dc2","logs":[{"address":"gx1n4m7gafr6cxtj8q4w9mm3480ar4gq3t95k6he9","topics":["0xddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef","0x00000000000000000000000062fd06620bd14eab76b88f126d80707d3a5c9720","0x00000000000000000000000062fd06620bd14eab76b88f126d80707d3a5c9720"],"data":"0x00000000000000000000000000000000000000000000003635c9adc5dea00000","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

返回指定帐户的帐户值和存储值,包括默克尔证明。

# 参数

  • bech32地址或者合约地址

  • 存储位置的整数

  • Block Number or 块hash(0x...........)

// 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": ["0xf90211a090dcaf88c40c7bbc95a912cbdde67c175767b31173df9ee4b0d733bfdd511c43a0babe369f6b12092f49181ae04ca173fb68d1a5456f18d20fa32cba73954052bda0473ecf8a7e36a829e75039a3b055e51b8332cbf03324ab4af2066bbd6fbf0021a0bbda34753d7aa6c38e603f360244e8f59611921d9e1f128372fec0d586d4f9e0a04e44caecff45c9891f74f6a2156735886eedf6f1a733628ebc802ec79d844648a0a5f3f2f7542148c973977c8a1e154c4300fec92f755f7846f1b734d3ab1d90e7a0e823850f50bf72baae9d1733a36a444ab65d0a6faaba404f0583ce0ca4dad92da0f7a00cbe7d4b30b11faea3ae61b7f1f2b315b61d9f6bd68bfe587ad0eeceb721a07117ef9fc932f1a88e908eaead8565c19b5645dc9e5b1b6e841c5edbdfd71681a069eb2de283f32c11f859d7bcf93da23990d3e662935ed4d6b39ce3673ec84472a0203d26456312bbc4da5cd293b75b840fc5045e493d6f904d180823ec22bfed8ea09287b5c21f2254af4e64fca76acc5cd87399c7f1ede818db4326c98ce2dc2208a06fc2d754e304c48ce6a517753c62b1a9c1d5925b89707486d7fc08919e0a94eca07b1c54f15e299bd58bdfef9741538c7828b5d7d11a489f9c20d052b3471df475a051f9dd3739a927c89e357580a4c97b40234aa01ed3d5e0390dc982a7975880a0a089d613f26159af43616fd9455bb461f4869bfede26f2130835ed067a8b967bfb80", "0xf90211a0395d87a95873cd98c21cf1df9421af03f7247880a2554e20738eec2c7507a494a0bcf6546339a1e7e14eb8fb572a968d217d2a0d1f3bc4257b22ef5333e9e4433ca012ae12498af8b2752c99efce07f3feef8ec910493be749acd63822c3558e6671a0dbf51303afdc36fc0c2d68a9bb05dab4f4917e7531e4a37ab0a153472d1b86e2a0ae90b50f067d9a2244e3d975233c0a0558c39ee152969f6678790abf773a9621a01d65cd682cc1be7c5e38d8da5c942e0a73eeaef10f387340a40a106699d494c3a06163b53d956c55544390c13634ea9aa75309f4fd866f312586942daf0f60fb37a058a52c1e858b1382a8893eb9c1f111f266eb9e21e6137aff0dddea243a567000a037b4b100761e02de63ea5f1fcfcf43e81a372dafb4419d126342136d329b7a7ba032472415864b08f808ba4374092003c8d7c40a9f7f9fe9cc8291f62538e1cc14a074e238ff5ec96b810364515551344100138916594d6af966170ff326a092fab0a0d31ac4eef14a79845200a496662e92186ca8b55e29ed0f9f59dbc6b521b116fea090607784fe738458b63c1942bba7c0321ae77e18df4961b2bc66727ea996464ea078f757653c1b63f72aff3dcc3f2a2e4c8cb4a9d36d1117c742833c84e20de994a0f78407de07f4b4cb4f899dfb95eedeb4049aeb5fc1635d65cf2f2f4dfd25d1d7a0862037513ba9d45354dd3e36264aceb2b862ac79d2050f14c95657e43a51b85c80", "0xf90171a04ad705ea7bf04339fa36b124fa221379bd5a38ffe9a6112cb2d94be3a437b879a08e45b5f72e8149c01efcb71429841d6a8879d4bbe27335604a5bff8dfdf85dcea00313d9b2f7c03733d6549ea3b810e5262ed844ea12f70993d87d3e0f04e3979ea0b59e3cdd6750fa8b15164612a5cb6567cdfb386d4e0137fccee5f35ab55d0efda0fe6db56e42f2057a071c980a778d9a0b61038f269dd74a0e90155b3f40f14364a08538587f2378a0849f9608942cf481da4120c360f8391bbcc225d811823c6432a026eac94e755534e16f9552e73025d6d9c30d1d7682a4cb5bd7741ddabfd48c50a041557da9a74ca68da793e743e81e2029b2835e1cc16e9e25bd0c1e89d4ccad6980a041dda0a40a21ade3a20fcd1a4abb2a42b74e9a32b02424ff8db4ea708a5e0fb9a09aaf8326a51f613607a8685f57458329b41e938bb761131a5747e066b81a0a16808080a022e6cef138e16d2272ef58434ddf49260dc1de1f8ad6dfca3da5d2a92aaaadc58080", "0xf851808080a009833150c367df138f1538689984b8a84fc55692d3d41fe4d1e5720ff5483a6980808080808080808080a0a319c1c415b271afc0adcb664e67738d103ac168e0bc0b7bd2da7966165cb9518080"], "balance": "0x0", "codeHash": "0xc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", "nonce": "0x0", "storageHash": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", "storageProof": [{"key": "0x0000000000000000000000000000000000000000000000000000000000000000", "value": "0x0", "proof": []}, {"key": "0x0000000000000000000000000000000000000000000000000000000000000001", "value": "0x0", "proof": []}]}}

# Web3 Methods

# web3_clientVersion

获取 web3 客户端版本。

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

返回给定数据的 Keccak-256(不是标准化的 SHA3-256)。

# 参数

1: input hexutil.Bytes

  • 必填: ✓ 是
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

返回当前网络 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

返回当前连接到客户端的对等点数。

// 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

如果客户端正在主动侦听网络连接,则返回。

// 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

返回当前的Plug Chain协议版本。

// 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

同步状态对象可能需要根据 Tendermint 同步协议的详细信息而有所不同。然而,同步结果只是一个布尔值,可以很容易地从 Tendermint 的内部同步状态中导出。

// 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

返回默认 EVM 面额参数中的当前 gas 价格。

// 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

返回所有 eth 帐户的数组。

// 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

返回当前块高度。

// 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

返回给定帐户地址和块号的帐户余额。

# 参数

  • EIP-55 地址(0x..........)

  • 块高或者块hash(0x)

// 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

返回给定帐户地址的存储地址。

# 参数

  • EIP-55 地址(0x..........)

  • 存储位置的整数

  • 块高或者块hash

// 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

返回给定帐户地址和块号的总交易量。

# 参数

  • EIP-55 地址(0x..........)

  • 块高或者块hash

// 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

返回给定块号的总交易计数。

# 参数

  • 块高(0x0)
// 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

返回给定块哈希的总交易计数。

# 参数

  • 块hash(0x...........)
// 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

返回给定帐户地址和块号的代码。

# 参数

  • EIP-55 地址(0x..........)

  • 块高或者块hash

// 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

sign 方法计算以太坊特定的签名:sign(keccak256("\x19Ethereum Signed Message:\n" + len(message) + message)))

通过在消息中添加前缀,可以将计算出的签名识别为以太坊特定的签名。这可以防止恶意 DApp 可以签署任意数据(例如交易)并使用签名来冒充受害者的滥用行为。

注意

用于签名的地址必须解锁。

# 参数

  • 账户地址

  • 要签名的信息

// 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

为已签名的交易创建新的消息调用交易或合同创建。 您可以使用 personal_sign 方法获取签名的交易数据。

# 参数

  • 签署的交易数据
// 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

立即执行新的消息调用,而不在区块链上创建交易。

# 参数

  • 交易对象:

    from: DATA, 20 Bytes - (可选)发送交易的地址。

    to: DATA, 20 Bytes - 交易被定向到的地址。

    gas: QUANTITY - 为交易执行提供的气体。 eth_call 消耗零气体,但某些执行可能需要此参数。

    gasPrice: QUANTITY - 用于每个付费gas的gasPrice

    value: QUANTITY - 与此交易一起发送的值

    data: DATA - 可选)方法签名和编码参数的哈希。有关详细信息,请参阅 Solidity 文档中的以太坊合约 ABI

  • 块高(0x0) or 块hash(0x...........)

// 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

返回发送交易所需气体的估计值。

# 参数

  • 交易对象:

    from: DATA, 20 Bytes - 发送交易的地址。.

    to: DATA, 20 Bytes - (创建新合约时可选)交易指向的地址。

    value: QUANTITY - 与此交易一起发送的值

// 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

按块号返回有关块的信息。

# 参数

  • 块号

  • true|false 如果为 true,则返回完整的交易对象,如果为 false,则仅返回交易的哈希值。

// 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

返回给定上面命令中的哈希值和一个布尔值,锁定信息。

# 参数

  • 块hash.

  • true|false 如果为 true,则返回完整的交易对象,如果为 false,则仅返回交易的哈希值。

// 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

返回给定以太坊 tx 的交易细节。

# 参数

  • 交易的哈希
// 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

返回给定块哈希和交易索引的交易详细信息。

# 参数

  • 块哈希.

  • 交易索引位置.

// 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

通过交易哈希返回交易的收据。

注意: Tendermint 的 Tx Code 和 Ethereum 收据状态被切换:

Tendermint Ethereum
Success 0 1
Fail 1 0

# 参数

  • 交易的哈希
// 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

使用某种主题创建新过滤器。

# 参数

  • 交易哈希
// 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

在节点中创建一个过滤器,以在新块到达时通知。

// 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

在节点中创建一个过滤器,以在新的待处理事务到达时发出通知。

// 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

删除具有给定过滤器 ID 的过滤器。如果过滤器已成功卸载,则返回 true,否则返回 false。

# 参数

  • 过滤器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

过滤器的轮询方法,它返回自上次轮询以来发生的日志数组。

# 参数

  • 过滤器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

返回具有给定 id 的所有与过滤器匹配的日志的数组。

# 参数

  • QUANTITY - 过滤器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

返回与给定过滤器对象匹配的所有日志的数组。

# 参数

  • 交易对象:

    fromBlock: QUANTITY|TAG - (可选,默认值:"latest")整数块编号,或 "latest" 表示最后一个开采的区块或 "pending""earliest" 表示未开采尚未开采的交易。 toBlock: QUANTITY|TAG - (可选,默认值:"latest")整数块编号,或 "latest" 表示最后一个开采的区块或 "pending""earliest" 表示未开采尚未开采的交易。 address: DATA|Array, 20 Bytes - (可选)合约地址或日志应源自的地址列表。

    topics: Array of DATA, - (可选)32字节DATA主题数组。主题是顺序相关的。每个主题也可以是带有“或”选项的“DATA”数组。

    blockhash: 可选,未来)随着 EIP-234 (opens new window) 的加入,blockHash 将成为一个新的过滤器选项,用于限制返回的日志到具有 32 字节哈希 blockHash 的单个块。使用 blockHash 等价于 fromBlock = toBlock = 哈希值为 blockHash 的区块号。如果 blockHash 出现在过滤条件中,则 fromBlocktoBlock 都不允许。

// 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

返回将发送挖矿奖励的账户。

// 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

返回指定帐户的帐户值和存储值,包括默克尔证明。

# 参数

  • EIP-55 地址或者合约地址

  • 存储位置的整数

  • 块高或者块hash

// 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

websockets相关信息 events

# eth_subscribe

使用 JSON-RPC 通知订阅。这允许客户端等待事件而不是轮询它们。

它通过订阅特定事件来工作。该节点将返回一个订阅 ID。对于与订阅匹配的每个事件,带有相关数据的通知与订阅 ID 一起发送。

# 参数

  • 订阅名称

  • 可选参数

// Request
{"id": 1, "method": "eth_subscribe", "params": ["newHeads", {"includeTransactions": true}]}

// Result
< {"jsonrpc":"2.0","result":"0x34da6f29e3e953af4d0c7c58658fd525","id":1}

# eth_unsubscribe

使用订阅 ID 取消订阅事件

# 参数

  • Subscription ID
// Request
{"id": 1, "method": "eth_unsubscribe", "params": ["0x34da6f29e3e953af4d0c7c58658fd525"]}

// Result
{"jsonrpc":"2.0","result":true,"id":1}

# Personal Methods

# personal_importRawKey

提示

Private: 需要身份验证。

将给定的未加密私钥(十六进制编码字符串)导入密钥存储,并使用密码对其进行加密。

# 参数 (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

提示

Private: 需要身份验证。

返回此节点管理的帐户的地址列表。

// 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

提示

Private: 需要身份验证。

从内存中删除具有给定地址的私钥。该帐户不能再用于发送交易。

# 参数

  • EIP-55 地址(0x..........)
// 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

提示

Private: 需要身份验证。

生成新的私钥并将其存储在密钥存储目录中。密钥文件使用给定的密码进行加密。返回新帐户的地址。

# 参数

  • 密码
// 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

提示

Private: 需要身份验证。

从密钥库中使用给定地址解密密钥。

使用 JavaScript 控制台时,密码和解锁持续时间都是可选的。未加密的密钥将保存在内存中,直到解锁持续时间到期。如果解锁持续时间默认为 300 秒。零秒的显式持续时间会解锁密钥,直到 geth 退出。

该帐户在解锁时可与 eth_signeth_sendTransaction 一起使用。

# 参数

  • 账户

  • 密码

  • 期间

// 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

提示

Private: 需要身份验证。

验证给定的密码并提交交易。

该事务与 eth_sendTransaction 的参数相同,并且包含 from 地址。如果密码可用于解密属于 tx.from 的私钥,则交易被验证、签名并发送到网络上。

注意

该账户在节点中未全局解锁,不能用于其他RPC调用。

# 参数

  • 交易对象:

    from: DATA, 20 Bytes - 发送交易的地址。.

    to: DATA, 20 Bytes - (创建新合约时可选)交易指向的地址。

    value: QUANTITY - 与此交易一起发送的值

  • 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

提示

Private: 需要身份验证。

sign 方法计算以太坊特定的签名:sign(keccack256("\x19Ethereum Signed Message:\n" + len(message) + message)))

# 参数

  • 信息

  • 账户

  • 密码

// 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

提示

Private: 需要身份验证。

ecRecover 返回与用于计算 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

提示

Private: 需要身份验证。

通过生成并返回一个新的私钥,在提供的 URL 处初始化一个新的钱包。

# 参数 (1)

参数必须由位置给出。

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

提示

Private: 需要身份验证。

Unpair 删除钱包和节点之间的配对。

# 参数 (2)

  • URL

  • 配对密码

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

traceTransaction 调试方法将尝试以与在网络上执行事务完全相同的方式运行事务。 在最终尝试执行与给定哈希相对应的事务之前,它将重放任何可能在此之前执行的事务。

# 参数

  • 跟踪配置
// 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

traceBlockByNumber 端点接受一个块号,并将重播数据库中已经存在的块。

# 参数

  • 跟踪配置
// 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

提示

Private: 需要身份验证。

获取以 H/s 为单位的哈希率(每秒哈希操作数)。

注意

工作证明特定。此端点始终返回"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

提示

Private: 需要身份验证。

设置验证者在提议区块时可以包含的额外数据。上限为 32 个字节。

注意

不受支持。此端点始终返回错误

# 参数

  • 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

提示

Private: 需要身份验证。

设置用于接受交易的最低汽油价格。低于此限制的任何交易都将被排除在验证者区块提议过程之外。

此方法在调用后需要重新启动"节点",因为它会更改配置文件。

确保您的 plugchaind start 调用未使用标志 minimum-gas-prices,因为将使用此值而不是配置文件中设置的值。

# 参数

  • 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

提示

Private: 需要身份验证。

使用给定的线程数启动 CPU 验证过程。

注意

不受支持。此端点始终返回错误

# 参数

  • 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

提示

Private: 需要身份验证。

停止验证操作。

注意

不受支持。此端点始终执行无操作。

// Request
curl -X POST --data '{"jsonrpc":"2.0","method":"miner_stop","params":[],"id":1}' -H "Content-Type: application/json" http://localhost:8545

# miner_setGasLimit

提示

Private: 需要身份验证。

设置矿工在采矿时将瞄准的气体限制。注意:在激活 EIP-1559 (opens new window) 的网络上,这应该设置为您想要的气体目标的两倍(即平均使用的有效气体每块)是。

注意

不受支持。此端点始终返回 false

# 参数

  • 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}

# 参数

  • 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

提示

Private: 需要身份验证。

设置 etherbase。它会更改将存放验证者奖励的钱包。

# 参数

  • 账户地址
// 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