Skip to main content

JSON-RPC

#Compatibility with the Web3 JSON-RPC Protocol

On the IC, you can access the endpoints of the JSON RPC interface listed below. Note that you can also access the full api of a full node, but without the ability to broadcast transactions using an archive node. See the section on full nodes.

Methods​

MethodStatusNotes
web3_clientVersion✅
web3_sha3✅
net_listening✅
net_peerCount✅
net_version✅
eth_accounts✅
eth_blockNumber✅
eth_call✅
eth_chainId✅
eth_coinbase✅
eth_compileLLL❌Unsupported
eth_compileSerpent❌Unsupported
eth_compileSolidity❌Unsupported
eth_estimateGas✅
eth_gasPrice✅
eth_getBalance✅
eth_getBlockByHash✅
eth_getBlockByNumber✅
eth_getBlockTransactionCountByHash✅
eth_getBlockTransactionCountByNumber✅
eth_getCode✅
eth_getCompilers❌Unsupported
eth_getFilterChanges❌Unsupported
eth_getFilterLogs❌Unsupported
eth_getLogs✅
eth_getProof❌EIP-1186
eth_getStorageAt✅
eth_getTransactionByBlockHashAndIndex✅
eth_getTransactionByBlockNumberAndIndex✅
eth_getTransactionByHash✅
eth_getTransactionCount✅
eth_getTransactionReceipt✅
eth_getUncleByBlockHashAndIndex✅
eth_getUncleByBlockNumberAndIndex✅
eth_getUncleCountByBlockHash✅
eth_getUncleCountByBlockNumber✅
eth_getWork❌Unsupported
eth_hashrate✅
eth_mining✅
eth_newBlockFilter❌Unsupported
eth_newFilter❌Unsupported
eth_newPendingTransactionFilter❌Unsupported
eth_pendingTransactions❌Undocumented
eth_protocolVersion✅
eth_sendRawTransaction✅
eth_sendTransaction❌Unsupported
eth_sign❌Unsupported
eth_signTransaction❌Unsupported
eth_signTypedData❌Unsupported
eth_submitHashrate❌Unsupported
eth_submitWork❌Unsupported
eth_syncing✅
eth_uninstallFilter✅
db_getHex❌Deprecated
db_getString❌Deprecated
db_putHex❌Deprecated
db_putString❌Deprecated
shh_addToGroup❌Discontinued
shh_getFilterChanges❌Discontinued
shh_getMessages❌Discontinued
shh_hasIdentity❌Discontinued
shh_newFilter❌Discontinued
shh_newGroup❌Discontinued
shh_newIdentity❌Discontinued
shh_post❌Discontinued
shh_uninstallFilter❌Discontinued
shh_version❌Discontinued
txpool_content❌Unsupported
txpool_inspect❌Unsupported
txpool_status❌Unsupported
parity_pendingTransactions❌Unsupported

Legend: ❌ = not supported. 🚧 = work in progress. ✅ = supported.

Limitations​

  • The eth_getProof method (EIP-1186) is not supported and is unlikely to be possible to implement.

Notes​

  • For now, the eth_estimateGas method returns a fixed value (6,721,975, matching Truffle's default gas limit).

  • Ethereum is a proof-of-work (PoW) network, and Internet Computer is a proof-of-stake (PoS) network. Therefore with Bitfinity all mining-related methods such as eth_getWork, eth_submitHashrate, and eth_submitWork are not supported and return an error code. Additionally, PoW-related block metadata such as nonce and difficulty contain all zeroes.

  • There is no concept of uncle (aka ommer) blocks on Bitfinity.

  • There is no access to pending transactions.

  • The nonstandard Geth tracing APIs are not supported at present.

  • The nonstandard Parity tracing APIs are not supported at present.

Source Code​