Skip to main content

Relayer JSON-RPC Methods

The Aurora Relayer implements the Web3 JSON-RPC protocol. Below you can consult all of the methods we do support.

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✅
eth_getFilterChanges✅
eth_getFilterLogs✅
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✅
eth_newFilter✅
eth_newPendingTransactionFilter✅
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✅Geth extension
txpool_inspect✅Geth extension
txpool_status✅Geth extension
parity_pendingTransactions✅Parity extension

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-stake (PoS) network, and NEAR is a proof-of-stake (PoS) network. Therefore with Aurora all mining-related methods such as eth_getWork, eth_submitHashrate, and eth_submitWork are not supported and return an error code.

  • The eth_coinbase method returns the EVM address of the Aurora Engine. For example, for the Aurora Engine deployment on the aurora account, COINBASE returns 0x4444588443C3a91288c5002483449Aba1054192b.

  • 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 contain all zeroes.

  • There is no access to pending transactions. The eth_newPendingTransactionFilter method creates a filter that returns nothing when polled with eth_getFilterChanges.

  • The nonstandard Geth tracing APIs are not supported at present, but we do have plans to implement them going forward. (#12)

  • The nonstandard Parity tracing APIs are not supported at present, but we do have plans to implement them going forward. (#13)

  • The eth_getFilterChanges only returns logs since the filter was created, regardless of the block passed in to create the filter.

Source Code​

The Aurora Relayer source code repository is at: github.com/aurora-is-near/relayer2-public.

NOTE: Old aurora-relayer repository has been deprecated in 2 steps:

  1. Replacing current “Indexer” with a different implementation written in go-lang/rust.
  2. Replacing “JSON-RPC Endpoint” with an implementation in go-lang.