pub struct EngineArgs {Show 32 fields
pub persistence_threshold: u64,
pub persistence_backpressure_threshold: u64,
pub memory_block_buffer_target: u64,
pub legacy_state_root_task_enabled: bool,
pub caching_and_prewarming_enabled: bool,
pub state_cache_disabled: bool,
pub prewarming_disabled: bool,
pub parallel_sparse_trie_enabled: bool,
pub parallel_sparse_trie_disabled: bool,
pub state_provider_metrics: bool,
pub cross_block_cache_size: usize,
pub state_root_task_compare_updates: bool,
pub accept_execution_requests_hash: bool,
pub multiproof_chunk_size: usize,
pub reserved_cpu_cores: usize,
pub precompile_cache_enabled: bool,
pub precompile_cache_disabled: bool,
pub state_root_fallback: bool,
pub always_process_payload_attributes_on_canonical_head: bool,
pub allow_unwind_canonical_header: bool,
pub storage_worker_count: Option<usize>,
pub account_worker_count: Option<usize>,
pub prewarming_threads: Option<usize>,
pub cache_metrics_disabled: bool,
pub sparse_trie_max_hot_slots: usize,
pub sparse_trie_max_hot_accounts: usize,
pub slow_block_threshold: Option<Duration>,
pub disable_sparse_trie_cache_pruning: bool,
pub state_root_task_timeout: Option<Duration>,
pub share_execution_cache_with_payload_builder: bool,
pub share_sparse_trie_with_payload_builder: bool,
pub proof_jitter: Option<Duration>,
}Expand description
Parameters for configuring the engine driver.
Configure persistence threshold for the engine. This determines how many canonical blocks must be in-memory, ahead of the last persisted block, before flushing canonical blocks to disk again.
To persist blocks as fast as the node receives them, set this value to zero. This will cause more frequent DB writes.
Configure the maximum canonical-minus-persisted gap before engine API processing stalls.
This value must be greater than --engine.persistence-threshold.
Configure the target number of blocks to keep in memory.
Enable legacy state root
§caching_and_prewarming_enabled: bool👎Deprecated
CAUTION: This CLI flag has no effect anymore, use –engine.disable-caching-and-prewarming if you want to disable caching and prewarming
Disable state cache
Disable parallel prewarming
👎Deprecated
CAUTION: This CLI flag has no effect anymore. The parallel sparse trie is always enabled.
👎Deprecated
CAUTION: This CLI flag has no effect anymore. The parallel sparse trie is always enabled.
Enable state provider latency metrics. This allows the engine to collect and report stats about how long state provider calls took during execution, but this does introduce slight overhead to state provider calls.
Configure the size of cross-block cache in megabytes
Enable comparing trie updates from the state root task to the trie updates from the regular state root calculation.
Enables accepting requests hash instead of an array of requests in engine_newPayloadV4.
Multiproof task chunk size for proof targets.
Configure the number of reserved CPU cores for non-reth processes
👎Deprecated
CAUTION: This CLI flag has no effect anymore, use –engine.disable-precompile-cache if you want to disable precompile cache
Disable precompile cache
Enable state root fallback, useful for testing
Always process payload attributes and begin a payload build process even if
forkchoiceState.headBlockHash is already the canonical head or an ancestor. See
TreeConfig::always_process_payload_attributes_on_canonical_head for more details.
Note: This is a no-op on OP Stack.
Allow unwinding canonical header to ancestor during forkchoice updates.
See TreeConfig::unwind_canonical_header for more details.
Configure the number of storage proof workers in the Tokio blocking pool. If not specified, defaults to 2x available parallelism.
Configure the number of account proof workers in the Tokio blocking pool. If not specified, defaults to the same count as storage workers.
Configure the number of prewarming threads. If not specified, defaults to available parallelism.
Disable cache metrics recording, which can take up to 50ms with large cached state.
LFU hot-slot capacity: max storage slots retained across sparse trie prune cycles.
LFU hot-account capacity: max account addresses retained across sparse trie prune cycles.
Configure the slow block logging threshold in milliseconds.
When set, blocks that take longer than this threshold to execute will be logged with detailed metrics including timing, state operations, and cache statistics.
Set to 0 to log all blocks (useful for debugging/profiling).
When not set, slow block logging is disabled (default).
Fully disable sparse trie cache pruning. When set, the cached sparse trie is preserved without any node pruning or storage trie eviction between blocks. Useful for benchmarking the effects of retaining the full trie cache.
Configure the timeout for the state root task before spawning a sequential fallback. If the state root task takes longer than this, a sequential computation starts in parallel and whichever finishes first is used.
–engine.state-root-task-timeout 1s –engine.state-root-task-timeout 400ms
Set to 0s to disable.
Whether to share execution cache with the payload builder.
When enabled, each payload job will get an instance of cross-block execution cache from the engine.
Note: this should only be enabled if node would not be requested to process any payloads in parallel with payload building.
Whether to share the sparse trie with the payload builder.
Replaces the payload builder’s blocking state_root_with_updates() call with the
sparse trie, computing the state root concurrently with transaction execution.
The engine and payload builder contend for the same trie — if a builder task is
still running when newPayload arrives, the engine will block until the trie is
stored back.
The builder also anchors the trie at the built block’s state root, so if the next
newPayload is not on top of that block, the trie cache is invalidated and cleared.
Available on crate feature trie-debug only.
Add random jitter before each proof computation (trie-debug only). Each proof worker sleeps for a random duration up to this value before starting work. Useful for stress-testing timing-sensitive proof logic.
–engine.proof-jitter 100ms –engine.proof-jitter 1s
§
§
Causes self to use its Binary implementation when Debug-formatted.
§
Causes self to use its Display implementation when
Debug-formatted.
§
Causes self to use its LowerExp implementation when
Debug-formatted.
§
Causes self to use its LowerHex implementation when
Debug-formatted.
§
Causes self to use its Octal implementation when Debug-formatted.
§
Causes self to use its Pointer implementation when
Debug-formatted.
§
Causes self to use its UpperExp implementation when
Debug-formatted.
§
Causes self to use its UpperHex implementation when
Debug-formatted.
§
§
Available on crate feature propagate-header only.
Propagate a header from the request to the response. Read more
§
Available on crate feature add-extension only.
§
Available on crate feature map-request-body only.
Apply a transformation to the request body. Read more
§
Available on crate feature map-response-body only.
Apply a transformation to the response body. Read more
§
Available on crate features compression-br or compression-deflate or compression-gzip or compression-zstd only.
Compresses response bodies. Read more
§
Available on crate features decompression-br or decompression-deflate or decompression-gzip or decompression-zstd only.
Decompress response bodies. Read more
§
Available on crate feature trace only.
High level tracing that classifies responses using HTTP status codes. Read more
§
Available on crate feature trace only.
High level tracing that classifies responses using gRPC headers. Read more
§
Available on crate feature follow-redirect only.
Available on crate feature sensitive-headers only.
Available on crate feature sensitive-headers only.
Available on crate feature sensitive-headers only.
Available on crate feature set-header only.
Insert a header into the request, if the header is not already present. Read more
Available on crate feature set-header only.
Insert a header into the response, if the header is not already present. Read more
§
Available on crate feature request-id only.
Add request id header and extension, using x-request-id as the header name. Read more
§
Available on crate feature request-id only.
Propgate request ids from requests to responses. Read more
§
Available on crate feature request-id only.
Propgate request ids from requests to responses, using x-request-id as the header name. Read more
§
Available on crate feature catch-panic only.
Catch panics and convert them into 500 Internal Server responses. Read more
§
§
Calls .tap() only in debug builds, and is erased in release builds.
§
Calls .tap_mut() only in debug builds, and is erased in release
builds.
§
Calls .tap_borrow() only in debug builds, and is erased in release
builds.
§
Calls .tap_borrow_mut() only in debug builds, and is erased in release
builds.
§
Calls .tap_ref() only in debug builds, and is erased in release
builds.
§
Calls .tap_ref_mut() only in debug builds, and is erased in release
builds.
§
Calls .tap_deref() only in debug builds, and is erased in release
builds.
§
Calls .tap_deref_mut() only in debug builds, and is erased in release
builds.
Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.
Size: 184 bytes