Explorer Verification

After installing or upgrading your explorer, verify every layer is working. This checklist takes about ten minutes and catches nearly all common deployment problems.


1. Services Are Up

Terminal window
docker compose ps

All services (postgres, indexer, api, frontend) should show running with no restart loops.

2. Database Is Reachable

Terminal window
docker compose exec postgres pg_isready -U explorer

3. API Serves Fresh Data

Terminal window
curl "http://localhost:4000/api/v2/blocks"

Confirm:

  • The response is valid JSON with an items array.
  • The newest block height is within a minute or two of your chain node’s head.
  • Timestamps are recent.

Compare against the node directly:

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

4. Indexer Is Following the Head

Terminal window
docker compose logs --tail 50 indexer

Look for steady “imported block” progress and no repeating fetch errors.

5. Frontend Renders

Open the explorer in a browser and check:

  • Homepage loads with live counters and a recent-block list
  • A block page shows its transactions
  • A transaction page shows status, fee, and decoded token transfers
  • An address page shows balance and history
  • Search finds a transaction by hash
  • Branding (logo, colors, chain name) is correct

6. Token and Contract Features

  • A known ERC-20 token page shows holders and transfers
  • A verified contract shows source code and read/write tabs
  • An NFT collection shows items and metadata

7. Public Access (Production)

  • The custom domain resolves and serves HTTPS without certificate warnings
  • The API is reachable at its public URL, matching xdcscan.io/api-docs endpoint shapes
  • Rate limiting behaves as configured

If Something Fails

  • Wrong or stale blocks → check the chain node’s sync status first.
  • API errors with healthy services → check database connections and migrations.
  • Missing token data → the indexer may still be backfilling; check blocks-behind-head.

See Monitoring to set up continuous verification, and the Explorer Audit for the full pre-launch review.