Relaychain

TOML

[relaychain]
chain = "rococo-local"
default_command = "polkadot"
default_image = "parity/polkadot:latest"
default_args = ["-lruntime=debug"]

# Optional: Use a pre-existing chain spec
# chain_spec_path = "/path/to/chain-spec.json"

# Optional: Generate chain spec with a command
# chain_spec_command = "polkadot build-spec --chain {chain}"

# Optional: Runtime for chain spec generation
# chain_spec_runtime.src = "/path/to/runtime.wasm"
# chain_spec_runtime.preset = "development"

# Genesis configuration
random_nominators_count = 4
max_nominations = 16

# Genesis patch (applied to chain spec)
[relaychain.genesis.balances]
balances = [["5GrwvaEF...", 1000000000000]]

# Genesis patch as RFC 6902 operations, applied after `genesis`; paths are
# relative to the runtime genesis, and `add` at `/-` appends to a list
[[relaychain.genesis_patch]]
op = "add"
path = "/balances/balances/-"
value = ["5FHneW46...", 1000000000000]

[[relaychain.nodes]]
name = "alice"
invulnerable = true

[[relaychain.nodes]]
name = "bob"
args = ["-lparachain=trace"]

Builder

#![allow(unused)]
fn main() {
use zombienet_sdk::NetworkConfigBuilder;

let config = NetworkConfigBuilder::new()
    .with_relaychain(|r| {
        r.with_chain("rococo-local")
            .with_default_command("polkadot")
            .with_default_image("parity/polkadot:latest")
            .with_validator(|v| v.with_name("alice").invulnerable(true))
            .with_validator(|v| v.with_name("bob"))
    })
    .build()
    .unwrap();
}

Reference

OptionTypeDefaultDescription
chainStringrococo-localChain name (e.g., polkadot, rococo-local, westend)
default_commandStringpolkadotDefault binary command for nodes
default_imageString—Default container image (Docker/Podman/K8s)
default_argsArray—Default CLI arguments for all nodes
default_resourcesObject—Default resource limits (see Resources)
default_db_snapshotString—Default database snapshot path/URL
chain_spec_pathString—Path or URL to pre-existing chain spec
chain_spec_commandString—Command template to generate chain spec
chain_spec_command_is_localBooleanfalseRun chain spec command locally
chain_spec_command_output_pathString/dev/stdoutOutput path for chain spec command
chain_spec_runtimeObject—Runtime WASM for chain spec generation (see Chain Spec)
random_nominators_countNumber—Number of random nominators for staking
max_nominationsNumber—Maximum nominations per nominator
genesisObject—Genesis overrides as JSON (alias: runtime_genesis_patch)
genesis_patchArray—RFC 6902 operations applied to the runtime genesis after genesis (see How it works)
wasm_overrideString—WASM runtime override path/URL
raw_spec_overrideString/Object—Raw chain spec override (inline JSON or file path)