-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Description
Now we have a new system that syncs our 3 templates into 3 repos, every few weeks, all automatic, guaranteed to work.
- https://github.com/paritytech/polkadot-sdk-minimal-template
- https://github.com/paritytech/polkadot-sdk-solochain-template
- https://github.com/paritytech/polkadot-sdk-parachain-template
The purpose of these 3 templates will be to demonstrate all the latest features of polkadot-sdk, and act as un-opinionated starting points. We expect other teams to build more opinionated templates, and feel free to add these to https://paritytech.github.io/polkadot-sdk/master/polkadot_sdk_docs/polkadot_sdk/templates/index.html
I have spread the word of what needs to be done to push the template revamp to full completion in the above issue, but the thread has gotten a bit unorganized by now. In this issue, I will re-iterate the action items.
Tip
All of the work mentioned here is, in my opinion, high impact, and relatively simple. This means: great oppurtunity for both Parity and external contributors!
FRAME / Umbrella Related
Integrate latest features of FRAME and umbrella crates into templates.
Use polkadot-sdk and polkadot-sdk-frame
The entire template should mostly be 3 crates: polkadot-sdk plus, codec and scale-info. For the case of polkadot-sdk-frame, please use prelude::*. If a prelude is missing something, open a PR and add it. If there should be further preludes (e.g. frame::benchmarking_prelude::*?) please add one.
- minimal Use umbrella crate for minimal template #5155
- 🚨 solochain Improvements in solochain template #5111
- 🚨 parachain Use the umbrella crate for the parachain template #5991 (with follow-ups)
I have logged a few important issues about polkadot-sdk-frame that are not solved yet either, most notably:
Use #[frame::runtime]
- minimal
- solochain: update solochain to use #[runtime] #5772
- parachain
Prepare Templates for OMNI Node future
see: #5568
Provide GenesisConfig presets.
The runtime should start exposing at least a development genesis-config, which should be used for testing. Other chain-specs that are currently embedded in the node should also be replicated.
- minimal Add
GenesisConfigpresets for templates runtimes (minimal and solochain) #5790 - solochain Add
GenesisConfigpresets for templates runtimes (minimal and solochain) #5790 - parachain parachain-template: genesis config presets added #4739
Make node compilation optional - #5940
The node doesn't compile by default when you do cargo build. It should be feature gated behind --features with-node. By default, the template only compiles the runtime and produces a wam. Instead, the user is invited to download polkadot-omni-node/polkadot-parachain.
This makes having ARM binaries quite important: #802
To run this wasm, one is expected to use do either of:
- Omni-node: add support for starting a dev chain with manual seal #5026
polkadot-omni-node+zombienetchopsticks.yaml
List:
- 🚨 minimal
- solochain: Should not happen, as the omni-node cannot support running a solochain
- 🚨 parachain
Provide chopsticks.yaml
- minimal
- solochain
- 🚨 parachain
Mark templates in substrate-developer-hub as archived.
- https://github.com/substrate-developer-hub/substrate-node-template
- https://github.com/substrate-developer-hub/substrate-parachain-template
More ideas? Yes, Sky's the limit!
There is a lot more that can be done to make the polkadot-sdk templates look nice. Be creative and proactive! Look to your favorite tools, repos and templates, and see what elements they have that make enjoy using them, and being them over :)
Metadata
Metadata
Assignees
Labels
Type
Projects
Status