Skip to content

Upgrade Reth from v1.8.4 to v1.11 #124

@tac0turtle

Description

@tac0turtle

Summary

Upgrade the pinned Reth dependency from v1.8.4 to v1.11.0 to capture cumulative performance improvements and new storage capabilities.

Motivation

ev-reth is on v1.8.4. Versions 1.9 through 1.11 include significant performance gains on the Engine API path, which is the critical hot path for ev-reth since all transactions flow through engine_forkchoiceUpdated:

Version Improvement
v1.9.0 Fusaka hardfork support, new DB tables for reorg performance
v1.10.0 Overlay caching in state providers (~25% newPayload latency reduction), new RPC endpoints (debug_getBadBlock, reth_subscribePersistedBlock), transaction pool optimizations
v1.11.0 Sparse trie caching across payload validations (~25% mean newPayload latency reduction, +33% throughput), parallel state hashing, experimental --storage.v2 hot/cold architecture (23-50% disk reduction via RocksDB)

Combined, these represent a 40-50% reduction in Engine API latency and up to 50% disk savings for operators.

Breaking changes to address

  • v1.10: Removed Consensus::Error associated type, revamped transaction policy traits
  • v1.11: Removed reth-stateless crate and SerialSparseTrie, dependency bumps (revm 34, alloy 1.6.3), removed Windows support, op-reth extracted from main repo

Scope

  1. Bump all reth-* dependencies in workspace Cargo.toml from tag = "v1.8.4" to tag = "v1.11.0"
  2. Fix compilation breakages from trait changes (Consensus::Error removal, transaction policy revamp)
  3. Verify EvolvePayloadBuilder, EvolveEngineValidator, and EvolveConsensus compile and pass tests against new APIs
  4. Update EvEvmConfig and EvTxEvmFactory for revm 34 compatibility
  5. Run full test suite (make check-all)
  6. Benchmark newPayload latency before/after to quantify gains
  7. Document any new flags worth exposing to operators (--storage.v2, --engine.parallel-sparse-trie)

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Todo

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions