Compatibility with the Web3 JSON-RPC Protocol
The Aurora Relayer implements the Web3 JSON-RPC protocol.
Legend: ❌ = not supported. 🚧 = work in progress. ✅ = supported.
eth_getProofmethod (EIP-1186) is not supported and is unlikely to be possible to implement.
For now, the
eth_estimateGasmethod 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_submitWorkare not supported and return an error code. Additionally, PoW-related block metadata such as
difficultycontain all zeroes.
eth_coinbasemethod returns the EVM address of the Aurora Engine. For example, for the Aurora Engine deployment on the
There is no concept of uncle (aka ommer) blocks. The
eth_getUncleByBlockNumberAndIndexmethods always return
eth_getUncleCountByBlockNumbermethods return zero for valid block IDs and
nullfor invalid block IDs. Additionally, uncle-related block metadata such as
sha3Unclescontain all zeroes.
There is no access to pending transactions. The
eth_newPendingTransactionFiltermethod creates a filter that returns nothing when polled with
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)
eth_getFilterChangesonly returns logs since the filter was created, regardless of the block passed in to create the filter.
The Aurora Relayer source code repository is at: github.com/aurora-is-near/aurora-relayer.
⚠ WARNING: aurora-relayer repository in its current state will be gradually deprecated. Deprecation will happen 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.