Resource Requirements
Resource requirements may vary based on chain size and other parameters. This mainly impacts database storage requirements. Basic prerequisites and settings can be found throughout the Information and Settings section for developers.
BlockScout requires a full archive node to import every state change for every address on the target network.

Recommended Base Hardware

EVM chains can differ in size and requirements, these are the recommendations for optimal performance.
16 core, 32 thread

Hosting Requirements

Minimums are listed for an AWS Cloud instance and can be inferred to other hosting providers.
  • 1x EC2 t3.Medium instance running Linux
  • 8GB of EBS General Purpose SSD (NVMe)
  • 1x RDS Database running on db.t3.Medium using PostgreSQL
  • 500GB of General Purpose SSD (depending on chain size)
Amazon Elastic Load Balancing
  • Average 100 new connections/sec per Elastic Load Balancer
Requirements will vary based on chain. For example, these are the recommended requirements for a Harmony Explorer Node:
Setup: AWS i3en.12xlarge or equivalent, with local disk storage Storage: ~24TB (4x NVMe SSD) is recommended for Archival Explorer Nodes on Shard 0 OS: Latest Ubuntu Linux (LTS Version) Network: 100M+ bandwidth

Node Tracing Requirements

Fetching Pending Transactions

OpenEthereum Nethermind
  • parity_pendingTransactions
  • txpool_content (for parity_pendingTransactions)

Enable Tracing to Fetch internal Transactions

OpenEthereum Nethermind
  • trace_replayBlockTransactions
  • trace_block (fetch block rewards)
  • 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​