pub struct NodeConfigBuilder<S> { /* private fields */ }
Expand description
A node configuration builder, used to build a NodeConfig
declaratively with fields validation.
Implementations§
Source§impl NodeConfigBuilder<Initial>
impl NodeConfigBuilder<Initial>
pub fn new( chain_context: ChainDefaultContext, validation_context: Rc<RefCell<ValidationContext>>, ) -> Self
Source§impl NodeConfigBuilder<Buildable>
impl NodeConfigBuilder<Buildable>
Sourcepub fn with_command<T>(self, command: T) -> Self
pub fn with_command<T>(self, command: T) -> Self
Set the command that will be executed to launch the node. Override the default.
Sourcepub fn with_subcommand<T>(self, subcommand: T) -> Self
pub fn with_subcommand<T>(self, subcommand: T) -> Self
Set the subcommand that will be executed to launch the node.
Sourcepub fn with_image<T>(self, image: T) -> Self
pub fn with_image<T>(self, image: T) -> Self
Set the image that will be used for the node (only podman/k8s). Override the default.
Sourcepub fn with_args(self, args: Vec<Arg>) -> Self
pub fn with_args(self, args: Vec<Arg>) -> Self
Set the arguments that will be used when launching the node. Override the default.
Sourcepub fn invulnerable(self, choice: bool) -> Self
pub fn invulnerable(self, choice: bool) -> Self
Set whether the node is invulnerable.
Sourcepub fn with_initial_balance(self, initial_balance: u128) -> Self
pub fn with_initial_balance(self, initial_balance: u128) -> Self
Set the node initial balance.
Sourcepub fn with_env(self, env: Vec<impl Into<EnvVar>>) -> Self
pub fn with_env(self, env: Vec<impl Into<EnvVar>>) -> Self
Set the node environment variables that will be used when launched. Override the default.
Sourcepub fn with_bootnodes_addresses<T>(self, bootnodes_addresses: Vec<T>) -> Self
pub fn with_bootnodes_addresses<T>(self, bootnodes_addresses: Vec<T>) -> Self
Set the bootnodes addresses that the node will try to connect to. Override the default.
Sourcepub fn with_resources(
self,
f: impl FnOnce(ResourcesBuilder) -> ResourcesBuilder,
) -> Self
pub fn with_resources( self, f: impl FnOnce(ResourcesBuilder) -> ResourcesBuilder, ) -> Self
Set the resources limits what will be used for the node (only podman/k8s). Override the default.
Sourcepub fn with_ws_port(self, ws_port: Port) -> Self
pub fn with_ws_port(self, ws_port: Port) -> Self
Set the websocket port that will be exposed. Uniqueness across config will be checked.
Sourcepub fn with_rpc_port(self, rpc_port: Port) -> Self
pub fn with_rpc_port(self, rpc_port: Port) -> Self
Set the RPC port that will be exposed. Uniqueness across config will be checked.
Sourcepub fn with_prometheus_port(self, prometheus_port: Port) -> Self
pub fn with_prometheus_port(self, prometheus_port: Port) -> Self
Set the Prometheus port that will be exposed for metrics. Uniqueness across config will be checked.
Sourcepub fn with_p2p_port(self, p2p_port: Port) -> Self
pub fn with_p2p_port(self, p2p_port: Port) -> Self
Set the P2P port that will be exposed. Uniqueness across config will be checked.
Sourcepub fn with_p2p_cert_hash(self, p2p_cert_hash: impl Into<String>) -> Self
pub fn with_p2p_cert_hash(self, p2p_cert_hash: impl Into<String>) -> Self
Set the P2P cert hash that will be used as part of the multiaddress
if and only if the multiaddress is set to use webrtc
.
Sourcepub fn with_db_snapshot(self, location: impl Into<AssetLocation>) -> Self
pub fn with_db_snapshot(self, location: impl Into<AssetLocation>) -> Self
Set the database snapshot that will be used to launch the node. Override the default.
Sourcepub fn build(self) -> Result<NodeConfig, (String, Vec<Error>)>
pub fn build(self) -> Result<NodeConfig, (String, Vec<Error>)>
Seals the builder and returns a NodeConfig
if there are no validation errors, else returns errors.