evstack / evstack/ev-reth

Add Execution Extensions (ExEx) support for custom indexing and event hooks

Aperta
#123 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Rust
Stelle
8
Fork
9
Merge medio
2g 13h
PR unite (30g)
6

Descrizione

## 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/)

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia in bin/ev-reth/src/main.rs leggendo il node builder e la install_exex API, quindi esamina il Reth ExEx Overview e gli esempi collegati. Verifica come le notifiche rappresentano le transazioni EvTxEnvelope, le chiamate batch, i metadati di sponsorship e gli eventi di reorg. Il lavoro è completo quando include un esempio in examples/, la documentazione per i clienti e una valutazione documentata del supporto per Remote ExEx tramite gRPC.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
grpc, rust
Ambito
backend, distributed-systems, infrastructure
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
28/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.