Polkadot Omni Node
This is a white labeled implementation based on polkadot-omni-node-lib.
It can be used to start a parachain node from a provided chain spec file. It is only compatible with runtimes that use block
number u32 and Aura consensus.
Installation
Download & expose it via PATH:
# Download and set it on PATH.
Compile & install via cargo:
# Assuming ~/.cargo/bin is on the PATH
Usage
A basic example for an Omni Node run starts from a runtime which implements the sp_genesis_builder::GenesisBuilder.
The interface mandates the runtime to expose a named-preset.
1. Install chain-spec-builder
Note: chain-spec-builder binary is published on crates.io under
staging-chain-spec-builder due to a name conflict.
Install it with cargo like bellow :
2. Generate a chain spec
Omni Node requires the chain spec to include a JSON key named relay_chain. It is set to a chain id,
representing the chain name, e.g. westend, paseo, rococo, polkadot, or kusama, but
there are also local variants that can be used for testing, like rococo-local or westend-local. The
local variants are available only for a build of polkadot-omni-node with
westend-native and rococo-native features respectively.
Additionaly, although deprecated, the --para-id flag can still be used to set the JSON key named
para_id. The removal of the flag will happen starting with stable2512. The alternative of not using
it is to implement the cumulus_primitives_core::GetParachainInfo runtime API for the runtime, and
upgrade it on-chain as well, to be compatible with nodes released starting with stable2512.
Example command bellow:
3. Run Omni Node
And now with the generated chain spec we can start the node in development mode like so: