Skip to content

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

@tac0turtle

Description

@tac0turtle

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    Status

    Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions