Skip to content

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

README.md

EVM Producers

Service for indexing blocks, transactions, and logs from EVM-compatible RPC endpoints and publishing them to Kafka.

Features

  • High-performance indexing using viem.
  • Support for Ethereum Mainnet, Base, and HyperEVM.
  • Configurable backfill on startup.
  • Graceful shutdown handling.

Configuration

Required and optional environment variables:

Variable Description Default
RPC_URL Ethereum/EVM RPC URL (WS/WSS preferred) Required
KAFKA_BROKERS Comma-separated list of Kafka brokers localhost:9092
CHAIN_ID Network ID (1=Mainnet, 8453=Base, 999=HyperEVM) 1
BACKFILL_BLOCKS Number of recent blocks to index on startup 10
LOG_LEVEL Logging level (trace, debug, info, warn, error) info

Usage

Development

export RPC_URL="wss://..."
npm run dev

Production

npm run build
npm start

Architecture

  • Source: Fetches data from EVM nodes via JSON-RPC.
  • Producer: Publishes structured events to Kafka topics defined in @ethereum-kafka-indexer/shared.
  • Utils: Shared logging and configuration management.