A high-performance, fault-tolerant Web3 event indexer written in Rust. This tool efficiently indexes smart contract events across multiple EVM-compatible blockchains and stores them in MongoDB.
Getting Started • Installation • Documentation • Contributing
-
🔗 Multi-Chain Support
- Index events from any EVM-compatible blockchain
- Support for multiple chains simultaneously
- Flexible chain configuration
-
🛡️ Fault Tolerance
- Circuit breaker pattern implementation
- Automatic RPC endpoint failover
- Reconnection handling with exponential backoff
- Error recovery mechanisms
-
⚡ Flexible Sync Modes
- Real-time event monitoring via WebSocket or HTTP(S)
- Historical synchronization via HTTP(S)
- Parallel processing capabilities
- Intelligent polling for HTTP endpoints
-
📊 Efficient Data Management
- MongoDB integration for reliable storage
- Duplicate event detection
- Batch processing for historical sync
- Automatic event decoding via ABI
-
📈 Monitoring & Observability
- Prometheus metrics
- Health check endpoints
- Comprehensive logging
- Performance metrics tracking
-
🐳 Docker Integration
- Complete Docker support
- Docker Compose setup included
- Volume mounting for configuration
- Easy deployment and scaling
- ✅ Battle-tested in production environments
- 🔄 Handles network instability gracefully
- 📊 Efficient resource utilization
- 🛡️ Comprehensive error handling
- 🎯 Clean shutdown mechanisms
- 🔄 Support for both WebSocket and HTTP(S) monitoring
- Rust - For performance and reliability
- Web3 - Ethereum interface
- MongoDB - Event storage
- Prometheus - Metrics and monitoring
- Docker - Containerization
🟢 Active Development | 🔄 Regular Updates | ⚡ Production Ready
Comprehensive installation guide is available in the Getting started section.
Contributions are welcome! Please read our Contributing Guide before submitting a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
For issues and feature requests, please open an issue.
If you find this project useful, consider supporting its development:
ETH: 0xc7752c0254d5b4cc3ab8ec497045e8de2e4c901e