Skip to content
Snippets Groups Projects
  1. Jan 27, 2025
    • christopher k's avatar
      Add development chain-spec file for minimal/parachain templates for Omni Node compatibility (#6529) · d85147d0
      christopher k authored
      
      # Description
      
      This PR adds development chain specs for the minimal and parachain
      templates.
      [#6334](https://github.com/paritytech/polkadot-sdk/issues/6334)
      
      
      ## Integration
      
      This PR adds development chain specs for the minimal and para chain
      template runtimes, ensuring synchronization with runtime code. It
      updates zombienet-omni-node.toml, zombinet.toml files to include valid
      chain spec paths, simplifying configuration for zombienet in the
      parachain and minimal template.
      
      ## Review Notes
      
      1. Overview of Changes:
      - Added development chain specs for use in the minimal and parachain
      template.
      - Updated zombienet-omni-node.toml and zombinet.toml files in the
      minimal and parachain templates to include paths to the new dev chain
      specs.
      
      2. Integration Guidance:
      **NB: Follow the templates' READMEs from the polkadot-SDK master branch.
      Please build the binaries and runtimes based on the polkadot-SDK master
      branch.**
      - Ensure you have set up your runtimes `parachain-template-runtime` and
      `minimal-template-runtime`
      - Ensure you have installed the nodes required ie
      `parachain-template-node` and `minimal-template-node`
      - Set up [Zombinet](https://paritytech.github.io/zombienet/intro.html)
      - For running the parachains, you will need to install the polkadot
      `cargo install --path polkadot` remember from the polkadot-SDK master
      branch.
      - Inside the template folders minimal or parachain, run the command to
      start with `Zombienet with Omni Node`, `Zombienet with
      minimal-template-node` or `Zombienet with parachain-template-node`
      
      *Include your leftover TODOs, if any, here.*
      * [ ] Test the syncing of chain specs with runtime's code.
      
      ---------
      
      Signed-off-by: default avatarEleisonC <ckalule7@gmail.com>
      Co-authored-by: default avatarIulian Barbu <14218860+iulianbarbu@users.noreply.github.com>
      Co-authored-by: default avatarAlexander Samusev <41779041+alvicsam@users.noreply.github.com>
  2. Jan 20, 2025
    • seemantaggarwal's avatar
      Use docify export for parachain template hardcoded configuration and embed it... · 4937f779
      seemantaggarwal authored
      Use docify export for parachain template hardcoded configuration and embed it in its README #6333 (#7093)
      
      Use docify export for parachain template hardcoded configuration and
      embed it in its README #6333
      
      Docify currently has a limitation of not being able to embed a
      variable/const in its code, without embedding it's definition, even if
      do something in a string like
      
      "this is a sample string ${sample_variable}"
      
      It will embed the entire string 
      "this is a sample string ${sample_variable}"
      without replacing the value of sample_variable from the code
      
      Hence, the goal was just to make it obvious in the README where the
      PARACHAIN_ID value is coming from, so a note has been added at the start
      for the same, so whenever somebody is running these commands, they will
      be aware about the value and replace accordingly.
      
      To make it simpler, we added a 
      rust ignore block so the user can just look it up in the readme itself
      and does not have to scan through the runtime directory for the value.
      
      ---------
      
      Co-authored-by: default avatarIulian Barbu <14218860+iulianbarbu@users.noreply.github.com>
  3. Dec 10, 2024
    • Iulian Barbu's avatar
      omni-node: --dev sets manual seal and allows --chain to be set (#6646) · 48c28d4c
      Iulian Barbu authored
      # Description
      
      This PR changes a few things:
      * `--dev` flag will not conflict with `--chain` anymore, but if
      `--chain` is not given will set `--chain=dev`.
      * `--dev-block-time` is optional and it defaults to 3000ms if not set
      after setting `--dev`.
      * to start OmniNode with manual seal it is enough to pass just `--dev`.
      * `--dev-block-time` can still be used to start a node with manual seal,
      but it will not set it up as `--dev` does (it will not set a bunch of
      flags which are enabled by default when `--dev` is set: e.g. `--tmp`,
      `--alice` and `--force-authoring`.
      
      Closes: #6537
      
      ## Integration
      
      Relevant for node/runtime developers that use OmniNode lib, including
      `polkadot-omni-node` binary, although the recommended way for runtime
      development is to use `chopsticks`.
      
      ## Review Notes
      
      * Decided to focus only on OmniNode & templates docs in relation to it,
      and leave the `parachain-template-node` as is (meaning `--dev` isn't
      usable and te...
  4. Nov 04, 2024
    • Iulian Barbu's avatar
      templates: make node compilation optional (#5954) · 2a849174
      Iulian Barbu authored
      # Description
      
      Closes #5940  
      
      ## Integration
      
      Node devs that rely on templates' nodes binaries for minimal or
      parachain would need to follow the updated templates' README.mds again
      to find how to build the nodes' binaries.
      
      ## Review Notes
      
      Conditional compilation of virtual workspaces would compile the
      `members` list as if we passed `--workspace` flag to `cargo build` ,
      except when adding a `default-members` list which will be used for any
      cargo command executed in the virtual workspace root. To build the full
      members list needs passing `--workspace` flag.
      
      Other options investigated:
      - feature guard the `node` crate by defining a feature in the `node`
      crate, but it feels too complex since all code needs to be feature
      guarded. I haven't tried it but technically speaking it might work. I
      think though it looks awkward and my opinion is that the alternative is
      better.
      - defining features in the virtual workspace's Cargo.toml doesn't work
      (thought that I might create a feature that will have a dependency on
      the `node` crate and then not passing the feature to cargo build results
      in ignoring the `node` crate)
      - skipping compilation by using an environment variable, read in the
      build script, that will exit compilation abruptly if not set, but I
      couldn't make it work.
      - exclude the crate from the members list and build it specifically by
      passing `--package minimal-template-node` flag to the `cargo build`
      command. This has the disadvantage of not allowing IDEs based on rust
      analyzer to index/compile the node crate.
      
      My conclusion is that any option would require two commands to build the
      template, one with the node and one without, and both must be included
      in the README or templates usage documentation. If it comes which ones
      to pick I am in favor of the `default-members` option, which requires
      minimal intervention and expresses how cargo commands are executed on
      top of the workspace members, and what's left out from regular usage.
      
      ### Testing
      
      Testing was conducted as described bellow:
      
      - [x] zombienet with `minimal-template-node` , `parachain-template-node`
      and `polkadot-omni-node`. Things work as expected.
      - [x] no chopsticks testing was conducted - feels a bit out of scope for
      OmniNode related docs and overall testing when promoting it over the
      templates' nodes.
      - [x] testing the changes for the sync templates workflow (ignore the
      added comment from the Cargo.tomls, it was removed here on this branch:
      [99bff3e2](https://github.com/paritytech/polkadot-sdk/pull/5954/commits/99bff3e2
      
      )):
      [minimal](https://github.com/paritytech-stg/polkadot-sdk-minimal-template/pull/22/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542R9),
      [parachain](https://github.com/paritytech-stg/polkadot-sdk-parachain-template/pull/19/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542R9),
      [solochain](https://github.com/paritytech-stg/polkadot-sdk-solochain-template/pull/17/files#diff-2e9d962a08321605940b5a657135052fbcef87b5e360662bb527c96d9a615542R9).
      The links correspond to PRs opened by a bot after manually starting the
      sync-templates workflow on `paritytech-stg` org to test the end result
      of the `Cargo.toml` changes.
      
      ---------
      
      Signed-off-by: default avatarIulian Barbu <iulian.barbu@parity.io>
      Co-authored-by: default avatarKian Paimani <5588131+kianenigma@users.noreply.github.com>
  5. Sep 06, 2024
    • Radha's avatar
      Update Templates Readme - Github Repo links (#5381) · 986e7ae4
      Radha authored
      
      When someone downloads the Polkadot SDK repo and navigates to the
      templates folder, the Readme instructions do not work. There is a
      getting started script of the Polkadot SDK readme which can be
      overlooked (and also it covers only minimal template and not the
      parachain/solochain templates).
      
      The instructions of the Readme files are updated such that they work for
      anyone on
      https://github.com/paritytech/polkadot-sdk
      https://github.com/paritytech/polkadot-sdk-minimal-template
      https://github.com/paritytech/polkadot-sdk-parachain-template
      https://github.com/paritytech/polkadot-sdk-solochain-template
      
      ---------
      
      Co-authored-by: default avatarKian Paimani <5588131+kianenigma@users.noreply.github.com>
      Co-authored-by: default avatarBastian Köcher <git@kchr.de>
  6. Aug 23, 2024
  7. Aug 09, 2024
  8. Jul 09, 2024
  9. Jun 10, 2024
    • Przemek Rzad's avatar
      Revamp the Readme of the parachain template (#4713) · 497d64ef
      Przemek Rzad authored
      - Addresses
      [this](https://github.com/paritytech/polkadot-sdk/issues/3155#issuecomment-2126934939).
      - Revamps the Readme, very similar to [the minimal
      template](https://github.com/paritytech/polkadot-sdk/pull/4649).
      - Changed `polkadot-launch` to `zombienet`, with instructions how to run
      it.
      - See the [rendered
      version](https://github.com/paritytech/polkadot-sdk/blob/rzadp/parachain-template-readme/templates/parachain/README.md).
  10. Mar 05, 2024
    • Kian Paimani's avatar
      Repot all templates into a single directory (#3460) · 4c810609
      Kian Paimani authored
      The first step towards
      https://github.com/paritytech/polkadot-sdk/issues/3155
      
      Brings all templates under the following structure
      
      ```
      templates
      |   parachain
      |   |   polkadot-launch
      |   |   runtime              --> parachain-template-runtime
      |   |   pallets              --> pallet-parachain-template
      |   |   node                 --> parachain-template-node
      |   minimal
      |   |   runtime              --> minimal-template-runtime
      |   |   pallets              --> pallet-minimal-template
      |   |   node                 --> minimal-template-node
      |   solochain
      |   |   runtime              --> solochain-template-runtime
      |   |   pallets              --> pallet-template (the naming is not consistent here)
      |   |   node                 --> solochain-template-node
      ```
      
      The only note-worthy changes in this PR are: 
      
      - More `Cargo.toml` fields are forwarded to use the one from the
      workspace.
      - parachain template now has weights and benchmarks
      - adds a shell pallet to the minimal template
      - remove a few unused deps 
      
      
      A list of possible follow-ups: 
      
      - [ ] Unify READMEs, create a parent README for all
      - [ ] remove references to `docs.substrate.io` in templates
      - [ ] make all templates use `#[derive_impl]`
      - [ ] update and unify all licenses
      - [ ] Remove polkadot launch, use
      https://github.com/paritytech/polkadot-sdk/blob/35349df9/cumulus/zombienet/examples/small_network.toml
      instead.
  11. Sep 29, 2023
  12. Sep 04, 2023
    • Chevdor's avatar
      Markdown linter (#1309) · a30092ab
      Chevdor authored
      
      * Add markdown linting
      
      - add linter default rules
      - adapt rules to current code
      - fix the code for linting to pass
      - add CI check
      
      fix #1243
      
      * Fix markdown for Substrate
      * Fix tooling install
      * Fix workflow
      * Add documentation
      * Remove trailing spaces
      * Update .github/.markdownlint.yaml
      
      Co-authored-by: default avatarOliver Tale-Yazdi <oliver.tale-yazdi@parity.io>
      * Fix mangled markdown/lists
      * Fix captalization issues on known words
  13. Nov 11, 2021
    • Dan Shields's avatar
      Tweaks from template downstream review #80 (#705) · 3284976a
      Dan Shields authored
      * tweaks from template downstream review #80
      
      * more tweaks
      
      * Update parachain-template/node/src/command.rs
      
      * tweaks to template and other chainspecs
      
      * fmt
      
      * update more tweaks from downstream
      
      * fix build
      3284976a
  14. Sep 23, 2021