Add Execution Extensions (ExEx) support for custom indexing and event hooks
- Lenguaje dominante
- Rust
- Estrellas
- 8
- Forks
- 9
- Merge medio
- 2 d 13 h
- PR fusionados (30 d)
- 6
Descripción
## Summary
Enable Reth's Execution Extensions (ExEx) framework in ev-reth so customers can build custom indexers, analytics pipelines, bridge monitors, and event-driven integrations as in-process post-execution hooks.
## Motivation
Currently there is no built-in mechanism for customers to react to block execution events (new blocks, reorgs, state changes) without polling JSON-RPC. ExExes run in the same process as the node using shared memory, delivering 10-100x better performance than RPC-based indexers. They are reorg-safe by design via `ChainCommitted`, `ChainReorged`, and `ChainReverted` notifications.
**Customer use cases:**
- Block explorers and transaction indexers
- Analytics and reporting pipelines
- Bridge monitors and webhook systems
- Custom event processors for Evolve-specific transaction types (0x76)
## Scope
1. Wire up the `install_exex` API on the node builder in `bin/ev-reth/src/main.rs`
2. Ensure ExEx notifications correctly include `EvTxEnvelope` (0x76) transactions, batch calls, and sponsorship metadata
3. Provide at least one example ExEx (e.g., a simple block logger or Evolve tx indexer) in an `examples/` directory
4. Document how customers can write and compile custom ExExes against ev-reth
5. Evaluate Remote ExEx support for out-of-process consumers (gRPC)
## References
- [Reth ExEx Overview](https://reth.rs/exex/overview/)
- [Paradigm: Execution Extensions](https://www.paradigm.xyz/2024/05/reth-exex)
- [ExEx Examples](https://github.com/paradigmxyz/reth-exex-examples)
- [Community ExEx Directory](https://www.exex.rs/)
Guía de contribución
Línea de trabajo
Comienza en bin/ev-reth/src/main.rs leyendo el node builder y la install_exex API; después, revisa el Reth ExEx Overview y los ejemplos enlazados. Comprueba cómo las notificaciones representan las transacciones EvTxEnvelope, las llamadas por lotes, los metadatos de sponsorship y los eventos de reorg. Se considera completado cuando incluya un ejemplo en examples/, documentación para clientes y una evaluación documentada de la compatibilidad con Remote ExEx mediante gRPC.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- grpc, rust
- Área
- backend, distributed-systems, infrastructure
- Tipo de issue
- Nueva funcionalidad
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 28/100