Crates.io | polkadot-omni-node |
lib.rs | polkadot-omni-node |
version | 0.9.0 |
created_at | 2024-10-08 12:49:49.590991+00 |
updated_at | 2025-08-19 15:55:03.70911+00 |
description | Generic binary that can run a parachain node with u32 block number and Aura consensus |
homepage | https://paritytech.github.io/polkadot-sdk/ |
repository | https://github.com/paritytech/polkadot-sdk.git |
max_upload_size | |
id | 1401106 |
size | 423,034 |
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.
Download & expose it via PATH
:
# Download and set it on PATH.
wget https://github.com/paritytech/polkadot-sdk/releases/download/<stable_release_tag>/polkadot-omni-node
chmod +x polkadot-omni-node
export PATH="$PATH:`pwd`"
Compile & install via cargo
:
# Assuming ~/.cargo/bin is on the PATH
cargo install polkadot-omni-node --locked
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
.
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 :
cargo install staging-chain-spec-builder --locked
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:
chain-spec-builder create --relay-chain <relay_chain_id> --para-id <id> -r <runtime.wasm> named-preset <preset_name>
And now with the generated chain spec we can start the node in development mode like so:
polkadot-omni-node --dev --chain <chain_spec.json>