Setup
Parachain
First, install the essential dev tools.
- chain-spec-builder  utility for generating chain spec
- polkadot-omni-node  all-in-one node implementation aiming to support arbitrary chain specs
- zombienet  utility for spawning ephemeral local networks and running tests against them
cargo install --locked staging-chain-spec-builder
cargo install --locked polkadot-omni-node
npm i -g @zombienet/clipolkadot-sdk-parachain-template  can be used to jump-start parachain implementation. It is a great way of prototyping.
In fact, the template comes with a runtime that can be used out of the box.
# build parachain runtime
git clone https://github.com/paritytech/polkadot-sdk-parachain-template.git parachain-template
cd parachain-template
cargo build --release --lockedA chain spec entails all the required parameters and the genesis state of a blockchain. We need to generate one before we can launch the blockchain network.
# chain of type `development` mainly runs on one node
# enough for development in earliest stage
chain-spec-builder create -t development \
--relay-chain rococo-local \
--chain-name NERVerse \
--chain-id nerv \
--para-id 1000 \
--runtime ./target/release/wbuild/parachain-template-runtime/parachain_template_runtime.compact.compressed.wasm \
named-preset development# chain of type `local` runs on multiple nodes
chain-spec-builder create -t local \
--relay-chain paseo \
--para-id 1000 \
--runtime ./target/release/wbuild/parachain-template-runtime/parachain_template_runtime.compact.compressed.wasm \
named-preset development
chain-spec-builder create -t local \
--relay-chain 'rococo-local' \
--para-id 1000 \
--runtime ./target/release/wbuild/parachain-template-runtime/parachain_template_runtime.compact.compressed.wasm \
named-preset developmentSpawn a network for the parachain.
# install necessary binaries
zombienet setup polkadot polkadot-parachain
zombienet --provider native spawn zombienet-omni-node.tomlStart a
# start a node w/ generated chain spec
polkadot-omni-node --chain ./chain_spec.json --devpolkadot-omni-node \
--chain ./asset-hub-westend.json \
--live
--collator