Running an Archive Node

An archive node keeps the full historical state of the chain — everything your explorer needs to answer questions about any point in history.


When You Need Archive Mode

  • Historical balance and state queries (“what was this address’s balance at block N?”)
  • Full internal-transaction traces for old blocks
  • Complete token transfer history with correct decoded values

If you only care about recent activity, a full node can work — but most explorer features assume archive data.

General Setup

Exact steps depend on your chain’s client; always prefer the chain’s official documentation. The shape is the same everywhere:

  1. Provision hardware — fast NVMe storage (archive data grows large), 16+ GB RAM, reliable network. See Hardware Requirements.
  2. Install the client for your chain (from official releases).
  3. Enable archive mode and the required RPC namespaces. Typical flags look like:
Terminal window
your-chain-client \
--syncmode full \
--gcmode archive \
--http --http.addr 127.0.0.1 --http.port 8545 \
--http.api eth,net,web3,debug,trace,txpool
  1. Sync — from genesis or from an official snapshot. Snapshot sync cuts days to hours; verify snapshot sources against the chain’s official channels.
  2. Restrict access — bind RPC to localhost or a private interface and allow only the indexer host.

Verify the Node

Confirm the node is synced before pointing the indexer at it:

Terminal window
curl -s -X POST http://127.0.0.1:8545 \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_syncing","params":[],"id":1}'

false means fully synced. Confirm archive capability by requesting state at an old block:

Terminal window
curl -s -X POST http://127.0.0.1:8545 \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_getBalance","params":["0x0000000000000000000000000000000000000000","0x64"],"id":1}'

A successful response for an early block means historical state is available.

Operations

  • Disk — archive data only grows. Alert on free space well before it runs out.
  • Upgrades — follow your chain’s release announcements; a stalled node stalls the explorer. See Network Upgrades.
  • Backups — snapshots of the data directory let you recover without re-syncing from genesis.
  • Monitoring — track block height versus public reference explorers and alert on lag. See Monitoring.

Connecting the Indexer

Point the explorer stack at the node via the ETHEREUM_JSONRPC_HTTP_URL and ETHEREUM_JSONRPC_TRACE_URL environment variables — see Containerized Deployment or Build from Source.