Launching on Paseo
EduChain is modeled after the Polkadot SDK Parachain Template. It is an ecosystem-standard template maintained by Parity and includes the necessary configuration to deploy to a relay chain.
Zero to Hero
The Polkadot Developer Documentation offers an end-to-end tutorial for developing and launching a parachain on the Paseo Testnet.
Personalize Template
You can rebrand the runtime template to your own project by replacing occurrences of parachain-runtime and parachain_runtime with your project name.
Adding Pallets
You can add, remove, or create new pallets. Adding new pallets involves:
- Configuring their associated types in
runtime/src/configs/mod.rs. - Adding the pallet to the runtime in the
#[frame_support::runtime]macro:
For more details, see how pallets work in the Polkadot SDK docs.
Generating Build Artifacts
Genesis Configuration
The genesis config sets the initial state of your pallets. See the Polkadot SDK docs for more info.
Security Notice
Most tutorials use Alice or Bob keys for root, collator, and session keys. Always replace these with custom keys for production.
- Root Account: Use a cold wallet.
- Collator Key: Use a cold wallet.
- Session Key: Can be generated from a hot wallet (rotated often).
Local Development with pop CLI
Use pop CLI to test your parachain locally.
Launch a local testnet:
This spawns a local Paseo relay chain and your parachain for testing.
Collator Node Setup
You can spin up a collator on your local machine or a cloud instance. Educhain nodes run as Digital Ocean droplets.
To interact with your collator via Polkadot JS UI, you need a secure connection (SSL). This requires:
1. A domain (e.g., web3educhain.xyz).
2. SSL setup with a proxy for the RPC interfaces.
Local Testing
Run EduChain locally using pop CLI with the included Zombienet configuration:
This spawns a relay chain node and parachain collator nodes. See Using pop CLI for more options.
Block Production
Educhain is deployed on Rococo as an on-demand parachain. Transactions can be submitted to the collator node
and they enter the transaction pool. When you like to execute these transactions, an order can be placed on
Rococo relay chain for the parachain block production and validation through onDemandAssignmentProvider
pallet call.
-
To streamline the on-demand ordering process, a tool like
ondemandcan be used. -
If you intend to have a parachain that produces blocks continuously, you can purchase bulk coretime through an interface like RegionX.
For more details and tips on ordering coretime, see the ordering coretime page.