跳到主要内容

EIP-1474: Remote procedure call specification

原文

远程过程调用(RPC)规范

与以太坊节点的通信是通过使用 JSON-RPC 完成的,它是一种无状态、轻量级的远程过程调用协议,使用 JSON 作为其数据格式。以太坊 RPC 方法必须使用 JSON-RPC 请求对象进行调用,并且必须响应 JSON-RPC 响应对象。

错误码

  • -32700:Parse error 无效 JSON
  • -32600:Invalid request 无效输入 JSON
  • -32601:Method not found 找不到方法
  • -32602:Invalid params 无效参数
  • -32603:Internal error 节点内部错误
  • -32000:Invalid input 无效输入
  • -32001:Resource not found 资源未找到
  • -32002:Resource unavailable 资源不可用
  • -32003:Transaction rejected 交易拒绝
  • -32004:Method not supported 不支持的方法
  • -32005:Limit exceeded 调用频率超出
  • -32006:JSON-RPC version not supported 不支持的 JSON-RPC 版本

RPC 方法

web3_clientVersion

web3_sha3

net_listening

net_peerCount

net_version

eth_accounts

eth_blockNumber

eth_call

eth_coinbase

eth_estimateGas

eth_gasPrice

eth_getBalance

eth_getBlockByHash

eth_getBlockByNumber

eth_getBlockTransactionCountByHash

eth_getBlockTransactionCountByNumber

eth_getCode

eth_getFilterChanges

eth_getFilterLogs

eth_getLogs

eth_getStorageAt

eth_getTransactionByBlockHashAndIndex

eth_getTransactionByBlockNumberAndIndex

eth_getTransactionByHash

eth_getTransactionCount

eth_getTransactionReceipt

eth_getUncleByBlockHashAndIndex

eth_getUncleByBlockNumberAndIndex

eth_getUncleCountByBlockHash

eth_getUncleCountByBlockNumber

eth_getWork

eth_hashrate

eth_mining

eth_newBlockFilter

eth_newFilter

eth_newPendingTransactionFilter

eth_protocolVersion

eth_sendRawTransaction

eth_sendTransaction

eth_sign

eth_signTransaction

eth_signTypedData

eth_submitHashrate

eth_submitWork

eth_syncing

eth_uninstallFilter