This fork inherits all standard op-reth configuration options. See the op-reth configuration reference.
Proof History
Options for configuring the proof history ExEx.proofs-history
If true, initialize external-proofs exex to save and serve trie nodes to provide proofs faster.- Syntax
--proofs-historyproofs-history.storage-path
The path to the storage DB for proofs history.- Syntax
--proofs-history.storage-path <PROOFS_HISTORY_STORAGE_PATH>proofs-history.window
The window to span blocks for proofs history. Value is the number of blocks. Default is 1 month of blocks based on 2 seconds block time (30 * 24 * 60 * 60 / 2 = 1,296,000).
- Syntax
- Default
--proofs-history.window <PROOFS_HISTORY_WINDOW>proofs-history.prune-interval
Interval between proof-storage prune runs. Accepts human-friendly durations like “100s”, “5m”, “1h”.- Shorter intervals prune smaller batches more often.
- Longer intervals prune larger batches less often.
- Syntax
- Default
--proofs-history.prune-interval <PROOFS_HISTORY_PRUNE_INTERVAL>proofs-history.verification-interval
Verification interval: perform full block execution every N blocks for data integrity.0: Disabled (Default). Always use fast path with pre-computed data.1: Always verify. Always execute blocks.N: Verify every Nth block (e.g., 100 = every 100 blocks).
- Syntax
- Default
--proofs-history.verification-interval <PROOFS_HISTORY_VERIFICATION_INTERVAL>Management Commands
Theop-reth proofs command allows you to manage the storage of historical proofs.
init
Initialize the proofs storage with the current state of the chain.prune
Prune old proof history to reclaim space.unwind
Unwind the proofs storage to a specific blockRPC Endpoints
debug_proofsSyncStatus
Returns the current sync status of the proofs store.latest tracks the chain tip, eth_getProof calls for blocks within [earliest, latest] will be served from the versioned store.
Metrics
When themetrics feature is enabled, the proofs-history system exposes Prometheus metrics to monitor health and performance.
Block processing (optimism_trie.block.*)
| Metric | Type | Description |
|---|---|---|
total_duration_seconds | Histogram | End-to-end time to process a block |
execution_duration_seconds | Histogram | Time spent in EVM execution |
state_root_duration_seconds | Histogram | Time spent calculating state root |
write_duration_seconds | Histogram | Time spent writing trie updates to storage |
account_trie_updates_written_total | Counter | Number of account trie branch nodes written |
storage_trie_updates_written_total | Counter | Number of storage trie branch nodes written |
hashed_accounts_written_total | Counter | Number of hashed account entries written |
hashed_storages_written_total | Counter | Number of hashed storage entries written |
earliest_number | Gauge | Earliest block number in the proofs store |
latest_number | Gauge | Latest block number in the proofs store |
Pruner (optimism_trie.pruner.*)
| Metric | Type | Description |
|---|---|---|
total_duration_seconds | Histogram | Duration of each prune run |
pruned_blocks | Gauge | Number of blocks pruned in the last run |
account_trie_updates_written | Gauge | Account trie entries deleted in the last prune |
storage_trie_updates_written | Gauge | Storage trie entries deleted in the last prune |
hashed_accounts_written | Gauge | Hashed account entries deleted in the last prune |
hashed_storages_written | Gauge | Hashed storage entries deleted in the last prune |
RPC (op_reth_rpc.*)
| Metric | Type | Description |
|---|---|---|
get_proof_latency | Histogram | Latency of successful eth_getProof requests |
get_proof_requests | Counter | Total eth_getProof requests received |
get_proof_successful_responses | Counter | Total successful eth_getProof responses |
get_proof_failures | Counter | Total failed eth_getProof requests |
Storage operations (optimism_trie.storage.operation.*)
Per-operation duration_seconds histograms are recorded for: store_account_branch, store_storage_branch, store_hashed_account, store_hashed_storage, trie_cursor_seek_exact, trie_cursor_seek, trie_cursor_next, trie_cursor_current, hashed_cursor_seek, hashed_cursor_next.