Bootnodoor
Universal Ethereum bootnode supporting dual-layer peer discovery with fork-aware routing.
Overview
Bootnodoor is a lightweight Ethereum bootnode implementation that enables peer discovery across Ethereum's dual-layer architecture (Execution Layer and Consensus Layer). It functions as a unified service that helps new Ethereum nodes bootstrap and discover compatible peers on the network without requiring hardcoded peer lists.
The tool supports both legacy Discovery v4 (discv4) and modern Discovery v5 (discv5) protocols, with intelligent fork-aware filtering to ensure only compatible nodes are served. It maintains separate routing tables for EL and CL peers, implements multi-layer DoS protection, and provides a web-based monitoring dashboard with real-time statistics.
Features
- Dual-Stack Architecture: Run EL-only, CL-only, or both simultaneously on a single service
- Protocol Support: Supports both Discovery v4 (legacy) and Discovery v5 (modern encrypted) protocols
- Fork-Aware Filtering: Validates nodes using EIP-2124 fork IDs (EL) and fork digests (CL) with grace periods during transitions
- Intelligent Routing: Separate 500-node routing tables for EL and CL peers, only serving compatible nodes
- Automatic External IP Detection: Detects and advertises public IP from peer responses
- Web Dashboard: Real-time monitoring with node counts, fork information, protocol metrics, and database statistics
- Multi-Layer DoS Protection:
- 100 packets/second per-IP rate limiting
- Bounded pending maps
- Maximum 10 nodes per IP address
- Persistent Storage: SQLite database for node information persistence
- Bond Mechanism (discv4): Bidirectional verification before serving nodes
- WAN/LAN Filtering: Prevents private network topology disclosure
Use Cases
- Infrastructure Operators: Bootstrap peer discovery for Ethereum networks
- Testnet Deployment: Support testnets like Sepolia, Holesky, or custom networks
- Multi-Fork Networks: Intelligent peer filtering during hard fork transitions
- Organizations: Unified peer discovery service for both execution and consensus layers