/extended-parachain-template

Node template to build parachains with all the required pallets. Slightly opinionated based on what majority of parachain teams are using.

Primary LanguageRustThe UnlicenseUnlicense

Extended Parachain Template

Check Build

The Extended Parachain Template is a ready-to-use parachain template, pre-configured with the Assets pallet, a simple Governance system (Collective & Motion pallets), and other useful base features.

This is a solid starting point for most Parachain projects as it is a more feature-rich alternative to the base Substrate Parachain Template (which it is derived from).

This template is maintained by the Delivery Services team at Parity.

πŸš€ Getting Started

πŸ¦€ Rust Setup

First, complete the basic Rust setup instructions.

πŸ”§ Build

Clone the extended parachain template repository:

git clone https://github.com/paritytech/extended-parachain-template

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

cargo build --release

πŸ•ΈοΈ Run a local network

Next you will need a compatible release of Polkadot to run a testnet. You may also want to use Zombienet (available for Linux and MacOS) for spinning up a testnet:

You can find linux and macOS executables of the Zombienet CLI here:

https://github.com/paritytech/zombienet/releases Download the Zombienet CLI according to your operating system.

Tip: If you want the executable to be available system-wide then you can follow these steps (otherwise just download the executable to your working directory):

wget https://github.com/paritytech/zombienet/releases/download/v1.3.30/zombienet-macos
chmod +x zombienet-macos 
cp zombienet-macos /usr/local/bin

Make sure Zombienet CLI is installed correctly:

./zombienet-macos --help

You should see some similar output:

Usage: zombienet [options] [command]

Options:
  -c, --spawn-concurrency <concurrency>  Number of concurrent spawning process to launch, default is 1
  -p, --provider <provider>              Override provider to use (choices: "podman", "kubernetes", "native")
  -m, --monitor                          Start as monitor, do not auto cleanup network
  -h, --help                             display help for command

Commands:
  spawn <networkConfig> [creds]          Spawn the network defined in the config
  test <testFile> [runningNetworkSpec]   Run tests on the network defined
  setup <binaries...>                    Setup is meant for downloading and making dev environment of Zombienet ready
  version                                Prints zombienet version
  help [command]                         display help for command

You may use a reference implementation from the folder zombienet-config or make your own. More instructions here: Simulate parachains in a test network

πŸ‘‰ Learn more about parachains here, and parathreads here.

πŸ§™ Learn about how to use this template and run your own parachain testnet for it in the Devhub Cumulus Tutorial.

πŸ› Governance

Parachain governance is a very crucial topic that goes beyond using sudo for privileged calls. Read our Governance Explainer here