- Archive node with JSON RPC interface should strictly follow input/output interface described in https://eth.wiki/json-rpc/API.
- WebSocket interface (optional/highly recommended to enable) is used to subscribe to new block heads. Otherwise, Blockscout will trigger new blocks fetching by periodical polling the JSON RPC
eth_blockNumber
method. - Support for the following standard Ethereum JSON RPC methods:
Client | Method |
---|---|
OpenEthereum |
|
Geth |
|
Client | Method |
---|---|
OpenEthereum |
|
Geth |
|
Time measures for response time of crucial JSON RPC methods for indexing in Blockscout. Ways to improve speed.
eth_getBlockByNumber
without transaction receipts for a block with 15 transactions: Desired response time is < 0.5s. For instance, in case of the Gnosis chain archive node, the response time for the block with ~20 transactions is ~0.4s.eth_getTransactionReceipt
for random transactions desired response time is < 0.5s. For the Gnosis chain archive node the response time is ~0.3 - 0.4s.- Batched
eth_getTransactionReceipt
for 15 transactions acceptable response time is Less than 1s. For the Gnosis chain archive node, it is ~0.6 - 0.7s
The desired rate limit for RPC endpoint is 200 req/sec for the indexing phase and 100 req/sec for the indexed chain.
- All EVM chains must define these variables during configuration.
- BlockScout currently supports Erigon, Geth, Nethermind, Hyperledger Besu, and Ganache clients. Define the node variant using the
ETHEREUM_JSONRPC_VARIANT
environment variable. More information