Add Execution Extensions (ExEx) support for custom indexing and event hooks
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 28/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- grpc, rust
- Domain
- backend, distributed-systems, infrastructure
Research direction
Start in bin/ev-reth/src/main.rs by reading the node builder and the install_exex API, then review the Reth ExEx Overview and linked examples. Check how notifications represent EvTxEnvelope transactions, batch calls, sponsorship metadata, and reorg events. Done includes an example in examples/, customer documentation, and a documented evaluation of Remote ExEx support over gRPC.
Written by the indexing model from the issue text.
Description
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
- Wire up the
install_exexAPI on the node builder inbin/ev-reth/src/main.rs - Ensure ExEx notifications correctly include
EvTxEnvelope(0x76) transactions, batch calls, and sponsorship metadata - Provide at least one example ExEx (e.g., a simple block logger or Evolve tx indexer) in an
examples/directory - Document how customers can write and compile custom ExExes against ev-reth
- Evaluate Remote ExEx support for out-of-process consumers (gRPC)
References
- Dominant language
- Rust
- Stars
- 8
- Forks
- 9
- Avg merge
- 3d 17h
- Merged PRs (30d)
- 4
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from evstack/ev-reth
-
Difficulty 3/5 1-2 days Newbie friendliness 35/100
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
-
Difficulty 5/5 Over a week Newbie friendliness 30/100
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
Similar issues
-
Browser (wasm) relay client cannot connect to relays whose URL has a trailing-dot FQDN hostname Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
n0-computer/iroh#4550 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
paritytech/zombienet-sdk#591 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
farion1231/cc-switch#7638 · 1 comment ·
-
onnx-ir re-exports ModelProto and GraphProto but not NodeProto, AttributeProto and AttributeType Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100