Skip to content

Latest commit

 

History

History
128 lines (83 loc) · 5.16 KB

README.md

File metadata and controls

128 lines (83 loc) · 5.16 KB

Polkadot SDK's Parachain Template

Polkadot SDK Logo Polkadot SDK Logo

This is a template for creating a parachain based on Polkadot SDK.

This template is automatically updated after releases in the main Polkadot SDK monorepo.

  • ⏫ This template provides a starting point to build a parachain.

  • ☁️ It is based on the Cumulus framework.

  • 🔧 Its runtime is configured with a single custom pallet as a starting point, and a handful of ready-made pallets such as a Balances pallet.

  • 👉 Learn more about parachains here

Template Structure

A Polkadot SDK based project such as this one consists of:

  • 💿 a Node - the binary application.
  • 🧮 the Runtime - the core logic of the parachain.
  • 🎨 the Pallets - from which the runtime is constructed.

Getting Started

  • 🦀 The template is using the Rust language.

  • 👉 Check the Rust installation instructions for your system.

  • 🛠️ Depending on your operating system and Rust version, there might be additional packages required to compile this template - please take note of the Rust compiler output.

Build

🔨 Use the following command to build the node without launching it:

cargo build --release

🐳 Alternatively, build the docker image:

docker build . -t polkadot-sdk-parachain-template

Local Development Chain

🧟 This project uses Zombienet to orchestrate the relaychain and parachain nodes. You can grab a released binary or use an npm version.

This template produces a parachain node. You can install it in your environment by running:

cargo install --path node

You still need a relaychain node - you can download the polkadot (and the accompanying polkadot-prepare-worker and polkadot-execute-worker) binaries from Polkadot SDK releases.

In addition to the installed parachain node, make sure to bring zombienet, polkadot, polkadot-prepare-worker, and polkadot-execute-worker into PATH, for example:

export PATH="<path-to-binaries>:$PATH"

This way, we can conveniently use them in the following steps.

👥 The following command starts a local development chain, with a single relay chain node and a single parachain collator:

zombienet --provider native spawn ./zombienet.toml

# Alternatively, the npm version:
npx --yes @zombienet/cli --provider native spawn ./zombienet.toml

Development chains:

  • 🧹 Do not persist the state.
  • 💰 Are preconfigured with a genesis state that includes several prefunded development accounts.
  • 🧑‍⚖️ Development accounts are used as validators, collators, and sudo accounts.

Connect with the Polkadot-JS Apps Front-End

  • 🌐 You can interact with your local node using the hosted version of the Polkadot/Substrate Portal: relay chain and parachain.

  • 🪐 A hosted version is also available on IPFS.

  • 🧑‍🔧 You can also find the source code and instructions for hosting your own instance in the polkadot-js/apps repository.

Contributing

Getting Help