Indexing Engine Service

The Indexing Engine is the service that reads the blockchain and populates the explorer database. It is the only component that talks to the chain node, and its throughput determines how fast history becomes searchable.


Responsibilities

  • Block fetching — pulls blocks, transactions, and receipts from the EVM node via JSON-RPC.
  • Trace collection — captures internal transactions and call traces for full execution visibility.
  • Decoding — interprets logs and input data against token standards (ERC-20, ERC-721, ERC-1155) and verified contract ABIs.
  • Derivation — builds token transfer records, address activity, contract creation links, and coin balance history.
  • Reorg repair — detects chain reorganizations and re-indexes affected ranges.

Operating Modes

Backfill

On first deployment the engine walks the full chain history in parallel ranges. Throughput is bounded by your chain node’s RPC capacity and database write speed — this is the phase where hardware matters most.

Realtime

At the chain head, the engine switches to following new blocks as they’re produced, trailing by a configurable confirmation depth for reorg safety.

Key Metrics to Watch

MetricHealthy
Blocks behind headClose to the configured confirmation depth
Fetch errors / retriesNear zero
DB write latencyStable, no upward trend

See Monitoring for dashboards and alerts.

Failure Behavior

  • Node unavailable — the engine retries with backoff and resumes where it left off; no data is lost.
  • Crash mid-range — ranges are committed atomically; on restart the engine re-processes only uncommitted work.
  • Reorg detected — affected blocks are rolled back and re-fetched from the canonical chain.

Tuning

  • Reduce parallel fetch ranges if the chain node is overloaded.
  • Keep the engine and database close together — write latency dominates at the chain head.
  • For very large chains, run backfill on dedicated hardware, then migrate to the production host.