Skip to content

execution

The execution crate group runs the Base node’s execution layer. It spans EVM execution, state storage, transaction pool, and payload construction.

CratePackage NamePurpose
chainspecreth-optimism-chainspecEVM chain spec for Optimism
clireth-optimism-cliExecution layer CLI (jemalloc, OTel)
consensusreth-optimism-consensusBlock validation and trie roots
evmreth-optimism-evmBlock executor and state transitions
exexreth-optimism-exexExecution Extensions — proofs with trie updates
hardforksreth-optimism-forksOptimism hardfork definitions
nodereth-optimism-nodeNode builder — assembles all components
payloadreth-optimism-payload-builderPayload construction from pending transactions
primitivesreth-optimism-primitivesCustom transaction and receipt types
rethreth-opMeta-crate re-exporting all OP reth components
rpcreth-optimism-rpceth_, debug_, op_ RPC namespaces
storagereth-optimism-storageDatabase codec implementations
triereth-optimism-trieTrie storage for fault proof window
txpoolreth-optimism-txpoolTransaction pool with L1 cost calculation

The execution crate group is the heart of the node. It:

  1. Defines the Base chain specification including gas limits, hardforks, and genesis (chainspec, hardforks)
  2. Configures and runs the EVM for transaction execution (evm)
  3. Builds execution payloads from pending transactions (payload)
  4. Manages the transaction pool for pending transactions (txpool)
  5. Handles state storage and the Merkle Patricia Trie (storage, trie)
  6. Provides RPC endpoints for querying execution state (rpc)
  7. Integrates with Reth’s execution pipeline (reth, node)
  8. Supports Execution Extensions for custom indexing (exex)

Built on top of Reth v1.11.0, these crates customize Reth’s execution engine for the Base L2 environment.

crates/execution/