Configuration
Set up the configuration files needed to run your local EVM indexer.Dataset Configuration
Create aconfig.yaml file to define your dataset:
config.yaml
Configuration Options
kind
- Set to
evmfor Ethereum-compatible chains
retention_strategy
Choose one of two strategies:
-
FromBlock: Keep all blocks starting from the specified block number -
Head: Keep only the most recent N blocks (rolling window)
data_sources
- Internal service URL (use
http://hotblocks-service:3000as shown) - This connects to the hotblocks-service container
Docker Compose Configuration
Create adocker-compose.yaml file:
docker-compose.yaml
Service Details
hotblocks-service
Fetches blockchain data from your RPC endpoint. Key command flags:--http-rpc ${RPC_URL}- Your RPC endpoint (set via environment variable)--receipts- Fetch transaction receipts--traces- Fetch execution traces--diffs- Fetch state diffs--use-debug-api-for-statediffs- Use debug API for state diff extraction--verify-tx-sender- Verify transaction sender addresses--verify-tx-root- Verify transaction root hashes--verify-logs-bloom- Verify logs bloom filters--block-cache-size 10- Cache 10 blocks in memory
--verify-receipts-root- Verify receipts root hash--verify-block-hash- Verify block hash
hotblocks-db
Stores blockchain data and exposes the query API. Configuration:--datasets /app/config.yaml- Path to dataset configuration--db /run/db- Database storage location--port 8000- API server port- Volumes:
./config.yaml:/app/config.yaml- Mounts your config filedb-data:/run/db- Persistent storage for blockchain data
RUST_LOG: "info"- Set logging level (options:error,warn,info,debug,trace)

