Stateless History Node is a minimal Ethereum history indexer that backfills headers, receipts, and logs from the EL P2P network and serves an indexer-friendly RPC subset.
- Getting Started - Installation and first run
- Configuration - Full CLI options reference
- Architecture - System overview and module structure
- Specification - Detailed system specification
- Roadmap - Current and planned features
The node does not execute transactions or maintain state. It ingests history artifacts (headers, bodies, receipts) from the P2P network and derives logs on demand. This keeps storage requirements minimal.
Data is stored in fixed-size shards (default: 10,000 blocks per shard). Each shard contains compressed segments for headers, transaction metadata, and receipts. Out-of-order ingestion is supported via a write-ahead log (WAL).
The node exposes a minimal JSON-RPC subset designed for event indexers like rindexer:
eth_chainId- Chain IDeth_blockNumber- Highest present blocketh_getBlockByNumber- Block by numbereth_getLogs- Filtered event logs
- Fast-Sync - Concurrent fetching from multiple peers for historical blocks
- Follow Mode - Sequential fetching near chain head with reorg handling
For issues and feature requests, see the GitHub repository.