Expand description
This crate is used to create type safe configuration for Zombienet SDK using nested builders.
The main entry point of this crate is the NetworkConfigBuilder
which is used to build a full network configuration
but all inner builders are also exposed to allow more granular control over the configuration.
Note: Not all options can be checked at compile time and some will be checked at runtime when spawning a network (e.g.: supported args for a specific node version).
§Example
use zombienet_configuration::NetworkConfigBuilder;
let simple_configuration = NetworkConfigBuilder::new()
.with_relaychain(|relaychain| {
relaychain
.with_chain("polkadot")
.with_random_nominators_count(10)
.with_default_resources(|resources| {
resources
.with_limit_cpu("1000m")
.with_request_memory("1Gi")
.with_request_cpu(100_000)
})
.with_node(|node| {
node.with_name("node")
.with_command("command")
.validator(true)
})
})
.with_parachain(|parachain| {
parachain
.with_id(1000)
.with_chain("myparachain1")
.with_initial_balance(100_000)
.with_default_image("myimage:version")
.with_collator(|collator| {
collator
.with_name("collator1")
.with_command("command1")
.validator(true)
})
})
.with_parachain(|parachain| {
parachain
.with_id(2000)
.with_chain("myparachain2")
.with_initial_balance(50_0000)
.with_collator(|collator| {
collator
.with_name("collator2")
.with_command("command2")
.validator(true)
})
})
.with_hrmp_channel(|hrmp_channel1| {
hrmp_channel1
.with_sender(1)
.with_recipient(2)
.with_max_capacity(200)
.with_max_message_size(500)
})
.with_hrmp_channel(|hrmp_channel2| {
hrmp_channel2
.with_sender(2)
.with_recipient(1)
.with_max_capacity(100)
.with_max_message_size(250)
})
.with_global_settings(|global_settings| {
global_settings
.with_network_spawn_timeout(1200)
.with_node_spawn_timeout(240)
})
.build();
assert!(simple_configuration.is_ok())
Re-exports§
pub use shared::node::NodeConfig;
pub use shared::types;
Modules§
Structs§
- Global
Settings - Global settings applied to an entire network.
- Global
Settings Builder - A global settings builder, used to build
GlobalSettings
declaratively with fields validation. - Hrmp
Channel Config - HRMP channel configuration, with fine-grained configuration options.
- Hrmp
Channel Config Builder - HRMP channel configuration builder, used to build an
HrmpChannelConfig
declaratively with fields validation. - Network
Config - A network configuration, composed of a relaychain, parachains and HRMP channels.
- Network
Config Builder - A network configuration builder, used to build a
NetworkConfig
declaratively with fields validation. - Parachain
Config - A parachain configuration, composed of collators and fine-grained configuration options.
- Parachain
Config Builder - A parachain configuration builder, used to build a
ParachainConfig
declaratively with fields validation. - Relaychain
Config - A relay chain configuration, composed of nodes and fine-grained configuration options.
- Relaychain
Config Builder - A relay chain configuration builder, used to build a
RelaychainConfig
declaratively with fields validation.
Enums§
- Registration
Strategy - The registration strategy that will be used for the parachain.