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
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
, andeth_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 theaurora
account,COINBASE
returns 0x4444588443C3a91288c5002483449Aba1054192b. -
There is no concept of uncle (aka ommer) blocks. The
eth_getUncleByBlockHashAndIndex
andeth_getUncleByBlockNumberAndIndex
methods always returnnull
. Theeth_getUncleCountByBlockHash
andeth_getUncleCountByBlockNumber
methods return zero for valid block IDs andnull
for invalid block IDs. Additionally, uncle-related block metadata such assha3Uncles
contain all zeroes. -
There is no access to pending transactions. The
eth_newPendingTransactionFilter
method creates a filter that returns nothing when polled witheth_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:
- Replacing current “Indexer” with a different implementation written in go-lang/rust.
- Replacing “JSON-RPC Endpoint” with an implementation in go-lang.