EngineArgs in reth_node_core::args - Rust

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

Source§
Source§

Report the [ArgGroup::id][crate::ArgGroup::id] for this set of arguments

Source§

Append to [Command] so it can instantiate Self via [FromArgMatches::from_arg_matches_mut] Read more

Source§

Append to [Command] so it can instantiate self via [FromArgMatches::update_from_arg_matches_mut] Read more

Source§
Source§
Source§
Source§
Source§

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more

Source§

Instantiate Self from [ArgMatches], parsing the arguments as needed. Read more

Source§

Assign values from ArgMatches to self.

Source§

Assign values from ArgMatches to self.

Source§
Source§

Tests for self and other values to be equal, and is used by ==.

1.0.0 · Source§

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

Source§
Source§

§
§
§
§
§
§
§

Source§
Source§
Source§
Source§
Source§

🔬This is a nightly-only experimental API. (clone_to_uninit #126799)

Performs copy-assignment from self to dest. Read more

§
Source§

Source§

§
§

Compare self to key and return true if they are equal.

§
§

Checks if this value is equivalent to the given key. Read more

§
§

Checks if this value is equivalent to the given key. Read more

§
§

Checks if this value is equivalent to the given key. Read more

§
§

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.

§

Formats each item in a sequence. Read more

Source§
Source§

Returns the argument unchanged.

§
§

Builds a [TxEnv] from a transaction and a sender address.

§
§

Builds a [TxEnv] from a transaction, its sender, and encoded transaction bytes.

§
§

Attaches the provided Context to this type, returning a WithContext wrapper. Read more

§

Attaches the current Context to this type, returning a WithContext wrapper. Read more

§
§

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more

§

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Source§
Source§

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more

Source§

Instruments this type with the current Span, returning an Instrumented wrapper. Read more

Source§
Source§

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§
§
§

Wrap the input message T in a tonic::Request

§
§

Applies the layer to a service and wraps it in [Layered].

§
§

Pipes by value. This is generally the method you want to use. Read more

§

Borrows self and passes that borrow into the pipe function. Read more

§

Mutably borrows self and passes that borrow into the pipe function. Read more

§

Borrows self, then passes self.borrow() into the pipe function. Read more

§

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more

§

Borrows self, then passes self.as_ref() into the pipe function.

§

Mutably borrows self, then passes self.as_mut() into the pipe function.

§

Borrows self, then passes self.deref() into the pipe function.

§

Mutably borrows self, then passes self.deref_mut() into the pipe function.

§
§

The alignment of pointer.

§

The type for initializers.

§

Initializes a with the given initializer. Read more

§

Dereferences the given pointer. Read more

§

Mutably dereferences the given pointer. Read more

§

Drops the object pointed to by the given pointer. Read more

§
§

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more

§

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more

Source§
§

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. Read more

Available on crate feature set-header only.

Append a header into the request. Read more

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. Read more

Available on crate feature set-header only.

Append a header into the response. 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. 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

§

Available on crate feature limit only.

Intercept requests with over-sized payloads and convert them into 413 Payload Too Large responses. Read more

§

Available on crate feature normalize-path only.

Remove trailing slashes from paths. Read more

§

Available on crate feature normalize-path only.

Append trailing slash to paths. Read more

§
§

Immutable access to a value. Read more

§
§

Immutable access to the Borrow<B> of a value. Read more

§

Mutable access to the BorrowMut<B> of a value. Read more

§

Immutable access to the AsRef<R> view of a value. Read more

§

Mutable access to the AsMut<R> view of a value. Read more

§

Immutable access to the Deref::Target of a value. Read more

§

Mutable access to the Deref::Target of a value. 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.

Source§
Source§

The resulting type after obtaining ownership.

Source§

Creates owned data from borrowed data, usually by cloning. Read more

Source§

Uses borrowed data to replace owned data, usually by cloning. Read more

§
§

Clones self, possibly returning an error.

§
§

Attempts to convert self into T using TryInto<T>. Read more

Source§
Source§

The type returned in the event of a conversion error.

Source§

Performs the conversion.

Source§
Source§

The type returned in the event of a conversion error.

Source§

Performs the conversion.

§

§

§
Source§
§
§
§

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