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_compileLLLUnsupported
eth_compileSerpentUnsupported
eth_compileSolidityUnsupported
eth_estimateGas
eth_gasPrice
eth_getBalance
eth_getBlockByHash
eth_getBlockByNumber
eth_getBlockTransactionCountByHash
eth_getBlockTransactionCountByNumber
eth_getCode
eth_getCompilersUnsupported
eth_getFilterChangesUnsupported
eth_getFilterLogsUnsupported
eth_getLogs
eth_getProofEIP-1186
eth_getStorageAt
eth_getTransactionByBlockHashAndIndex
eth_getTransactionByBlockNumberAndIndex
eth_getTransactionByHash
eth_getTransactionCount
eth_getTransactionReceipt
eth_getUncleByBlockHashAndIndex
eth_getUncleByBlockNumberAndIndex
eth_getUncleCountByBlockHash
eth_getUncleCountByBlockNumber
eth_getWorkUnsupported
eth_hashrate
eth_mining
eth_newBlockFilterUnsupported
eth_newFilterUnsupported
eth_newPendingTransactionFilterUnsupported
eth_pendingTransactionsUndocumented
eth_protocolVersion
eth_sendRawTransaction
eth_sendTransactionUnsupported
eth_signUnsupported
eth_signTransactionUnsupported
eth_signTypedDataUnsupported
eth_submitHashrateUnsupported
eth_submitWorkUnsupported
eth_syncing
eth_uninstallFilter
db_getHexDeprecated
db_getStringDeprecated
db_putHexDeprecated
db_putStringDeprecated
shh_addToGroupDiscontinued
shh_getFilterChangesDiscontinued
shh_getMessagesDiscontinued
shh_hasIdentityDiscontinued
shh_newFilterDiscontinued
shh_newGroupDiscontinued
shh_newIdentityDiscontinued
shh_postDiscontinued
shh_uninstallFilterDiscontinued
shh_versionDiscontinued
txpool_contentUnsupported
txpool_inspectUnsupported
txpool_statusUnsupported
parity_pendingTransactionsUnsupported

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