Launch a Chain to Paseo
This guide shows how launch a chain on Paseo (Local or Live)
Last updated
Was this helpful?
This guide shows how launch a chain on Paseo (Local or Live)
Last updated
Was this helpful?
is the community-run Polkadot Relay chain Testnet. You can test onboarding a chain locally on Paseo Local before deploying it to the live Paseo Testnet.
If you want to test onboarding a chain on your local machine you need to .
Otherwise you will onboard to .
Note: if not specified, all the following steps are the same for launching on Paseo Local / Live.
See here how to .
When running a parachain collator, you typically need two distinct key pairs:
Stash Account – A “long-term savings” or bonded account used for staking or holding tokens on behalf of the collator. This account holds the majority of your funds but is kept protected from routine usage.
Session Key – The account the collator uses to sign and produce blocks in the network. If compromised, an attacker only gains the ability to author blocks, not access the stash account’s large reserve of funds.
Collator: A collator is the parachain node responsible for producing blocks and maintaining the parachain’s state.
This account pays for actions like para ID reservation, parachain registration, and acquiring coretime.
Now that we have a Chain Manager account we need to fund this account with tokens to perform transactions on behalf of the collator.
For the sake of this exercise, let's create a new chain project:
The folder includes a
network.toml
file which can be ignored. This is to launch a network with the chain already onboarded.
The chain specification holds all the information the node requires to start or sync with the chain's network.
Let's generate a chain spec:
For more advanced customization
pop build spec --help
Open the chain-spec.json
file in your editor.
Make sure to edit your chain spec and:
add your account and session keys
specify the starting balance of specific accounts
add the account that will be the sudo account for your chain
It should look similar to the below:
Since we have modified our chain spec, we will need to re-generate the raw chain spec, genesis state and wasm:
Pop CLI allows you to provide the path to an existing chain spec file to edit or regenerate the artifacts.
We are now ready to sync with Paseo and start producing blocks!
In order to run your parachain's collator, you will need the raw chain spec of Paseo.
The chain spec file can be found in the output of pop up network -f network --verbose
. Copy the chain spec file into the my-chain
directory:
Note: Your Paseo chain spec path may differ from the example above.
We need to generate a node-key for the collator:
Run the collator with the following command:
The second half of this command specifies the Relay chain node to connect to.
The --base-path ./data
is specified because the node key was placed into my-chain/data
. You could use the --unsafe-force-node-key-generation
flag to delegate the key generation to the node itself (IMPORTANT: not advised for a live testnet).
Last, we need to insert the session key into our running collator so that it can sign operational transactions:
Well done! Now look at the logs of your chain and you should see it being synced with Paseo!!!
Last step is to onboard the chain to Paseo.
pop up
simplifies the process of onboarding a chain to Paseo by automating both the reservation of an ID and its registration. Take the generated genesis state (para-2000-genesis-state
) and genesis code (para-2000.wasm
) and run:
If you prefer, you can still execute the steps separately using pop call chain
.
We can reserve a para ID for the chain using pop cli:
In the events we can see the para_id
that is assigned to the chain. Make sure this is the para ID specified in the chain spec file (and thus the chain artifacts).
Now we register the para ID with the generated genesis state (para-2000-genesis-state
) and genesis code (para-2000.wasm
).
Your chain is now registered on Paseo and should produce a block!
Technical Support
Note: the --url ws://localhost:57731
parameter should point to a .
Request PAS tokens on .
Copy the into the my-chain directory:
In order to validate and get your block finalised by the Relay chain, see how to acquire core time.
Note:
In the examples above, you are prompted to provide a <private-key>
to interact with the chain. However, this implies a potentially insecure way of handling private keys and should only be used for development accounts.
For production accounts and enhanced security, Pop CLI offers the --use-wallet
option to securely sign transactions. Refer to the for detailed instructions.
🧑🏫 To learn about Polkadot in general, website is a good starting point.
⭕ Learn more about parachains .
🧑🔧 For technical introduction, are the Polkadot SDK documentation resources.
Create a question and tag it with ""
Share the StackExchange question in our