Skip to main content

Compatibility with the Web3 JSON-RPC Protocol

The Conflux EVM space implements the Web3 JSON-RPC protocol.

Methods#

MethodStatusNote
web3_clientVersionโœ…
net_versionโœ…
eth_protocolVersionโœ…
eth_chainIdโœ…
eth_gasPriceโœ…
eth_blockNumberโœ…
eth_getBalanceโœ…
eth_getStorageAtโœ…
eth_getCodeโœ…
eth_getTransactionCountโœ…
eth_sendRawTransactionโœ…
eth_submitTransactionโœ…
eth_callโœ…
eth_estimateGasโœ…
eth_getTransactionByHashโœ…
eth_getTransactionReceiptโœ…
eth_getLogsโœ…The max gap between fromBlock and toBlock is limited to 1000
eth_getBlockByHashโœ…
eth_getBlockByNumberโœ…
eth_getBlockTransactionCountByHashโœ…
eth_getBlockTransactionCountByNumberโœ…
eth_getTransactionByBlockHashAndIndexโœ…
eth_getTransactionByBlockNumberAndIndexโœ…
eth_syncingโœ…
eth_hashrateโœ…
eth_coinbaseโœ…
eth_miningโœ…
eth_maxPriorityFeePerGasโœ…
eth_accountsโœ…
eth_submitHashrateโœ…
eth_getUncleByBlockHashAndIndexโœ…
eth_getUncleByBlockNumberAndIndexโœ…
eth_getUncleCountByBlockHashโœ…
eth_getUncleCountByBlockNumberโœ…
parity_getBlockReceiptsโœ…
eth_pendingTransactions๐Ÿšง
web3_sha3๐Ÿšง
trace_blockโœ…Parity RPC
trace_filterโœ…Parity RPC
trace_transactionโœ…Parity RPC
eth_feeHistoryโŒ
eth_getFilterChangesโœ…Supported at v2.1.1
eth_getFilterLogsโœ…Supported at v2.1.1
eth_newBlockFilterโœ…Supported at v2.1.1
eth_newFilterโœ…Supported at v2.1.1
eth_newPendingTransactionFilterโœ…Supported at v2.1.1
eth_uninstallFilterโœ…Supported at v2.1.1
net_listeningโŒ
net_peerCountโŒ
eth_compileLLLโŒ
eth_compileSerpentโŒ
eth_compileSolidityโŒ
eth_getCompilersโŒ
eth_getProofโŒEIP-1186
eth_getWorkโŒ
db_*โŒ
shh_*โŒ

Legend: โŒ = not supported. ๐Ÿšง = work in progress. โœ… = supported.

Notes#

  • eth_sendRawTransaction only accept 155 transaction, 1559, 2930 is not supported
  • Methods not listed here are also not supported.
  • There is no concept of uncle (aka ommer) blocks. The eth_getUncleByBlockHashAndIndex and eth_getUncleByBlockNumberAndIndex methods always return null. The eth_getUncleCountByBlockHash and eth_getUncleCountByBlockNumber methods return zero for valid block IDs and null for invalid block IDs. Additionally, uncle-related block metadata such as sha3Uncles is sha3 of empty hash array.
  • The nonstandard Geth tracing APIs are not supported at present
  • The nonstandard Parity tracing APIs are in progress

pending tag#

Only eth_getTransactionCount method has supported pending tag. Other method will treat pending tag as latest

  • eth_getTransactionCount โœ…
  • eth_getBalance
  • eth_getCode
  • eth_getStorageAt
  • eth_call

Note: filter related methods also not support pending tag

Data verifiability#

Below fields can not guarantee the verifiability

Block#

  • hash
  • stateRoot
  • receiptsRoot
  • transactionsRoot
  • totalDifficulty

Receipt#

  • logsBloom

pub/sub#

Starting from v2.1.0 newHeads and logs is supported

ETH RPC docs#