Node Tracing / JSON RPC Requirements

Node Tracing Requirements

Fetching Pending Transactions

Client
Method
OpenEthereum Nethermind
  • parity_pendingTransactions
Geth
  • txpool_content (for parity_pendingTransactions)

Enable Tracing to Fetch internal Transactions

Client
Method
OpenEthereum Nethermind
  • trace_replayBlockTransactions
  • trace_block (fetch block rewards)
Geth
  • debug_traceTransactions (for trace_replayBlockTransactions)

JSON RPC Performance Benchmarks

Time measures for response time of crucial JSON RPC methods for indexing in Blockscout. Ways to improve speed.
  1. 1.
    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.
  2. 2.
    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.
  3. 3.
    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

EVM Requirements & Clients

  • All EVM chains must define these variables during configuration.
  • BlockScout currently supports Parity, OpenEthereum, Geth, Nethermind, Hyperledger Besu, and Ganache clients. Define the node variant using the ETHEREUM_JSONRPC_VARIANT environment variable. More information​