Expand description
Re-exported from reth_node_builder
Modules§
- add_ons
- Node add-ons. Depend on core NodeComponents.
- aliases
- Type aliases for traits that are often used together
- common
- Helper types that can be used by launchers.
- components
- Support for configuring the components of a node. Support for configuring the components of a node.
- config
- Engine tree configuration.
- exex
- Support for installing the ExExs (execution extensions) in a node. Types for launching execution extensions (ExEx).
- hooks
- Node event hooks.
- node
- Support for configuring the higher level node types.
- payload
- This crate defines abstractions to create and update payloads (blocks)
- payload_builder 
- This crate defines abstractions to create and update payloads (blocks)
- rpc
- Builder support for rpc components.
- setup
- Helpers for setting up parts of the node.
Structs§
- AddOns
- Additional node extensions.
- AddOnsContext 
- Context passed to NodeAddOns::launch_add_ons,
- AnyNode
- A Nodetype builder
- AnyNodeTypes 
- A NodeTypestype builder.
- AnyNodeTypes With Engine 
- A NodeTypestype builder.
- BeaconConsensus Engine Handle 
- A cloneable sender type that can be used to send engine API messages.
- BuilderContext 
- Captures the necessary context for building the components of the node.
- DebugNode Launcher 
- Node launcher with support for launching various debugging utilities.
- EngineNode Launcher 
- The engine node launcher.
- ExExLauncher 
- Can launch execution extensions.
- ForkchoiceState Tracker 
- The struct that keeps track of the received forkchoice state and their status.
- FullNode 
- The launched node with all components including RPC handlers.
- FullNode Types Adapter 
- An adapter type that adds the builtin provider type to the user configured node types.
- LaunchContext 
- Reusable setup for launching a node.
- NextBlock EnvAttributes 
- Represents additional attributes required to configure the next block.
This is used to configure the next block’s environment
ConfigureEvm::next_evm_envand contains fields that can’t be derived from the parent header alone (attributes that are determined by the CL.)
- NodeAdapter 
- Container for the node’s types and the components and other internals that can be used by addons of the node.
- NodeBuilder 
- Declaratively construct a node.
- NodeBuilder With Components 
- A fully type configured node builder.
- NodeBuilder With Types 
- A node builder that also has the configured types.
- NodeConfig 
- This includes all necessary configuration to launch the node. The individual configuration options can be overwritten before launching the node.
- NodeHandle 
- A Handle to the launched node.
- NodeTypes Adapter 
- Container for the node’s types and the database the node uses.
- NodeTypes WithDB Adapter 
- An adapter type combining NodeTypesand db intoNodeTypesWithDB.
- OnForkChoice Updated 
- Represents the outcome of forkchoice update.
- PayloadEvents 
- Represents a receiver for various payload events.
- TreeConfig 
- The configuration of the engine tree.
- WithLaunch Context 
- A NodeBuilderwith it’s launch context already configured.
Enums§
- BeaconConsensus Engine Event 
- Events emitted by the consensus engine.
- BeaconEngine Message 
- A message for the beacon engine from other components of the node (engine RPC API invoked by the consensus layer).
- BeaconFork Choice Update Error 
- Represents error cases for an applied forkchoice update.
- BeaconOnNew Payload Error 
- Represents all error cases when handling a new payload.
- ConsensusEngine Live Sync Progress 
- Progress of the consensus engine during live sync.
- EngineApiMessage Version 
- The version of Engine API message.
- EngineObject Validation Error 
- Thrown when the payload or attributes are known to be invalid before processing.
- Events
- Payload builder events.
- ForkchoiceState Hash 
- A helper type to check represent hashes of a ForkchoiceState
- ForkchoiceStatus 
- A simplified representation of PayloadStatusEnumspecifically for FCU.
- InvalidPayload Attributes Error 
- Thrown when validating the correctness of a payloadattributes object.
- MessageValidation Kind 
- A type that represents whether or not we are validating a payload or payload attributes.
- NewPayloadError 
- Error validating payload received over newPayloadAPI.
- PayloadBuilder Error 
- Possible error variants during payload building.
- PayloadKind 
- Determines how we should choose the payload to return.
- PayloadOrAttributes 
- Either a type that implements the ExecutionPayloador a type that implements thePayloadAttributestrait.
- VersionSpecific Validation Error 
- Thrown when validating an execution payload OR payload attributes fails due to:
Constants§
- DEFAULT_MAX_ PROOF_ TASK_ CONCURRENCY 
- Default maximum concurrency for proof tasks
- DEFAULT_MEMORY_ BLOCK_ BUFFER_ TARGET 
- How close to the canonical head we persist blocks.
- DEFAULT_PERSISTENCE_ THRESHOLD 
- Triggers persistence when the number of canonical blocks in memory exceeds this threshold.
- DEFAULT_RESERVED_ CPU_ CORES 
- Default number of reserved CPU cores for non-reth processes.
Traits§
- Block
- Abstraction of block data type.
- BlockBody 
- Abstraction for block’s body.
- BlockReader For 
- This is a type alias to make type bounds simpler, when we have a NetworkPrimitivesand need aBlockReaderwhose associated types match theNetworkPrimitivesassociated types.
- BuiltPayload 
- Represents a built payload type that contains a built SealedBlockand can be converted into engine API execution payloads.
- ConfigureEvm 
- A complete configuration of EVM for Reth.
- DebugNode 
- Nodeextension with support for debugging utilities, see- DebugNodeLauncherfor more context.
- EngineTypes 
- This type defines the versioned types of the engine API based on the ethereum engine API.
- EngineValidator 
- Type that validates the payloads processed by the engine.
- ExecutionPayload 
- An execution payload.
- FullBlock 
- Helper trait that unifies all behaviour required by block to support full node operations.
- FullNode Components 
- Encapsulates all types and components of the node.
- FullNode Primitives 
- Helper trait that sets trait bounds on NodePrimitives.
- FullNode Types 
- A helper trait that is downstream of the NodeTypestrait and adds stateful components to the node.
- FullProvider 
- Helper trait to unify all provider traits for simplicity.
- FullReceipt 
- Helper trait that unifies all behaviour required by receipt to support full node operations.
- FullSigned Tx 
- Helper trait that unifies all behaviour required by block to support full node operations.
- InvalidBlock Hook 
- An invalid block hook.
- LaunchNode 
- A general purpose trait that launches a new node of any kind.
- Node
- A crate::Nodeis aNodeTypesthat comes with preconfigured components.
- NodeAddOns 
- Customizable node add-on types.
- NodeComponents 
- An abstraction over the components of a node, consisting of:
- NodeComponents Builder 
- A type that configures all the customizable components of the node and knows how to build them.
- NodePrimitives 
- Configures all the primitive types of the node.
- NodeTypes 
- The type that configures the essential types of an Ethereum-like node.
- NodeTypes WithDB 
- A helper trait that is downstream of the NodeTypestrait and adds database to the node.
- PayloadAttributes 
- The execution payload attribute type the CL node emits via the engine API. This trait should be implemented by types that could be used to spawn a payload job.
- PayloadAttributes Builder 
- A builder that can return the current payload attribute.
- PayloadBuilder Attributes 
- This can be implemented by types that describe a currently running payload job.
- PayloadBuilder Config 
- A trait that provides payload builder settings.
- PayloadBuilder For 
- Helper trait to bound [PayloadBuilder] to the node’s engine types.
- PayloadTypes 
- The types that are used by the engine API.
- PayloadValidator 
- Type that validates an ExecutionPayload.
- RethNetwork Config 
- A trait that represents the configured network and can be used to apply additional configuration to the network.
- RethTransaction Pool Config 
- A trait that provides all basic config values for the transaction pool and is implemented by the
TxPoolArgstype.
Functions§
- has_enough_ parallelism 
- Determines if the host has enough parallelism to run the payload processor.
- validate_execution_ requests 
- Validates that execution requests are valid according to Engine API specification.
- validate_parent_ beacon_ block_ root_ presence 
- Validate the presence of the parentBeaconBlockRootfield according to the given timestamp. This method is meant to be used with either apayloadAttributesfield or a full payload, with theengine_forkchoiceUpdatedandengine_newPayloadmethods respectively.
- validate_payload_ timestamp 
- Validates the timestamp depending on the version called:
- validate_version_ specific_ fields 
- Validates the presence or exclusion of fork-specific fields based on the ethereum execution payload, or payload attributes, and the message version.
- validate_withdrawals_ presence 
- Validates the presence of the withdrawalsfield according to the payload timestamp. After Shanghai, withdrawals field must be Some. Before Shanghai, withdrawals field must be None;
Type Aliases§
- BlockTy
- Helper adapter type for accessing NodePrimitives::BlockonNodeTypes.
- BodyTy
- Helper adapter type for accessing NodePrimitives::BlockBodyonNodeTypes.
- HeaderTy 
- Helper adapter type for accessing NodePrimitives::BlockHeaderonNodeTypes.
- KeyHasherTy 
- Helper type for getting the Primitivesassociated type from aNodeTypes.
- PrimitivesTy 
- Helper type for getting the Primitivesassociated type from aNodeTypes.
- ReceiptTy 
- Helper adapter type for accessing NodePrimitives::ReceiptonNodeTypes.
- RethFull Adapter 
- The adapter type for a reth node with the builtin provider type
- TxTy
- Helper adapter type for accessing NodePrimitives::SignedTxonNodeTypes.