Compatibility with the Web3 JSON-RPC Protocol
The Aurora Relayer implements the Web3 JSON-RPC protocol.
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-work (PoW) 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. Additionally, PoW-related block metadata such asnonce
anddifficulty
contain all zeroes.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/aurora-relayer.