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.
Trait Implementations§
Auto Trait Implementations§
impl<S> Freeze for NodeConfigBuilder<S>
impl<S> !RefUnwindSafe for NodeConfigBuilder<S>
impl<S> !Send for NodeConfigBuilder<S>
impl<S> !Sync for NodeConfigBuilder<S>
impl<S> Unpin for NodeConfigBuilder<S>where
S: Unpin,
impl<S> !UnwindSafe for NodeConfigBuilder<S>
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more