Skip to content

Conversation

@Charlie-Mack
Copy link

@Charlie-Mack Charlie-Mack commented Oct 23, 2025

Resolves #19162 when complete

Summary

Adds file-based block loading to reth-bench, allowing benchmarks to replay blocks from pre-generated files instead of fetching from an RPC.

Changes

  • Added block-storage command to generate block files from RPC
  • Implemented BlockFileReader with configurable batch reading for memory efficiency
  • Added --from-file flag to benchmark commands
  • Refactored to use BlockSource enum for clean RPC/File separation
  • Made auth provider optional (only required for actual benchmarking, not file generation)
  • Added support for early optimism blocks (Engine API v1 not supported in Optimism)

Usage

# Generate block file
reth-bench block-storage --rpc-url  --from X --to Y --output ./blocks

# Run benchmark from file
reth-bench new-payload-fcu --from-file ./blocks/blocks.bin --jwt-secret 

@Charlie-Mack Charlie-Mack force-pushed the feat/file-based-block-loading branch from 7cfd790 to 9b1a734 Compare October 27, 2025 09:00
@Charlie-Mack Charlie-Mack marked this pull request as ready for review October 28, 2025 11:22
@Charlie-Mack Charlie-Mack changed the title [WIP] feat: add file-based block loading for benchmarks (#19162) feat: add file-based block loading for benchmarks (#19162) Oct 28, 2025
@Charlie-Mack Charlie-Mack changed the title feat: add file-based block loading for benchmarks (#19162) feat(reth-bench): add file-based block loading for benchmarks (#19162) Oct 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

High TPS Reth Bench: Load block data from file

1 participant