NodeConfig in reth_node_core::node_config - Rust

pub struct NodeConfig<ChainSpec> {
Show 17 fields pub datadir: DatadirArgs, pub config: Option<PathBuf>, pub chain: Arc<ChainSpec>, pub metrics: MetricArgs, pub instance: Option<u16>, pub network: NetworkArgs, pub rpc: RpcServerArgs, pub txpool: TxPoolArgs, pub builder: PayloadBuilderArgs, pub debug: DebugArgs, pub db: DatabaseArgs, pub dev: DevArgs, pub pruning: PruningArgs, pub engine: EngineArgs, pub era: EraArgs, pub static_files: StaticFilesArgs, pub storage: StorageArgs,
}
Expand description

This includes all necessary configuration to launch the node. The individual configuration options can be overwritten before launching the node.

§Example


async fn t() {
    // create the builder
    let builder = NodeConfig::default();

    // configure the rpc apis
    let mut rpc = RpcServerArgs::default().with_http().with_ws();
    rpc.http_api = Some(RpcModuleSelection::All);
    let builder = builder.with_rpc(rpc);
}

This can also be used to launch a node with a temporary test database. This can be done with the NodeConfig::test method.

§Example


async fn t() {
    // create the builder with a test database, using the `test` method
    let builder = NodeConfig::test();

    // configure the rpc apis
    let mut rpc = RpcServerArgs::default().with_http().with_ws();
    rpc.http_api = Some(RpcModuleSelection::All);
    let builder = builder.with_rpc(rpc);
}

All data directory related arguments

The path to the configuration file to use.

The chain this node is running.

Possible values are either a built-in chain or the path to a chain specification file.

Enable to configure metrics export to endpoints

Add a new instance of a node.

Configures the ports of the node to avoid conflicts with the defaults. This is useful for running multiple nodes on the same machine.

Max number of instances is 200. It is chosen in a way so that it’s not possible to have port numbers that conflict with each other.

Changes to the following port numbers:

  • DISCOVERY_PORT: default + instance - 1
  • DISCOVERY_V5_PORT: default + instance - 1
  • AUTH_PORT: default + instance * 100 - 100
  • HTTP_RPC_PORT: default - instance + 1
  • WS_RPC_PORT: default + instance * 2 - 2
  • IPC_PATH: default + instance

All networking related arguments

All rpc related arguments

All txpool related arguments with –txpool prefix

All payload builder related arguments

All debug related arguments with –debug prefix

All database related arguments

All dev related arguments with –dev prefix

All pruning related arguments

All engine related arguments

All ERA import related arguments with –era prefix

All static files related arguments

All storage related arguments with –storage prefix

Source§
Source

Creates a testing NodeConfig, causing the database to be launched ephemerally.

Source§
Source

Creates a new config with given chain spec, setting all fields to default values.

Source

Sets –dev mode for the node.

In addition to setting the --dev flag, this also:

Source

Apply a function to the config.

Source

Applies a fallible function to the config.

Source
Source

Set the data directory args for the node

Source

Set the config file for the node

Source
Source

Set the ChainSpec for the node and converts the type to that chainid.

Source

Set the metrics address for the node

Source

Set the instance for the node

Source

Returns the instance value, defaulting to 1 if not set.

Source

Set the network args for the node

Source

Set the rpc args for the node

Source

Set the txpool args for the node

Source

Set the builder args for the node

Source

Set the debug args for the node

Source

Set the database args for the node

Source

Set the dev args for the node

Source

Set the dev block time for the node.

This sets the interval at which the dev miner produces new blocks.

Source

Set the pruning args for the node

Source

Set the storage args for the node

Source

Returns pruning configuration.

Source

Returns the effective storage settings for this node.

Determined by the --storage.v2 flag (defaults to true). Existing databases retain whatever settings are persisted in their metadata (checked during genesis init).

Source

Returns the max block that the node should run to, looking it up from the network if necessary

Source

Fetches the head block from the database.

If the database is empty, returns the genesis block.

Source

Attempt to look up the block number for the tip hash in the database. If it doesn’t exist, download the header and return the block number.

NOTE: The download is attempted with infinite retries.

Source

Attempt to look up the block with the given number and return the header.

NOTE: The download is attempted with infinite retries.

Source
Source

Sets networking and RPC ports to zero, causing the OS to choose random unused ports when sockets are bound.

Source

Disables all discovery services for the node.

Source

Effectively disables the RPC state cache by setting the cache sizes to 0.

By setting the cache sizes to 0, caching of newly executed or fetched blocks will be effectively disabled.

Source

Resolve the final datadir path.

Source

Load an application configuration from a specified path.

A new configuration file is created with default values if none exists.

Source

Modifies the ChainSpec generic of the config using the provided closure.

Source

Returns the [MiningMode] intended for –dev mode.

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§

§
§

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: 2944 bytes