Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Standardize runtimes #235

Merged
merged 32 commits into from
May 8, 2020
Merged

Standardize runtimes #235

merged 32 commits into from
May 8, 2020

Conversation

JoshOrndorff
Copy link
Owner

@JoshOrndorff JoshOrndorff commented May 4, 2020

This PR takes the opinion that a "standard" runtime should not be tied to any particular consensus-related APIs or pallets such as the babe_api or the aura_api. Existing nodes are converted to instant-seal. This allows pruning of the pow-runtime, and opens up the possibility of adding some interesting recipes in a natural way in the future. For example:

  • Pure PoA - An aura-like consensus engine that live outside the runtime
  • Babe/Grandpa node - A node/runtime pair where consensus authorities are dictated by a runtime API (like polkadot)

This PR includes:

  • Update kitchen node to instant seal
  • Update RPC node to instant seal
  • Manual-seal node uses super-runtime (and other standardized runtimes)
  • Standardize super-runtime
  • Standardize ocw-runtime
  • Standardize weight-fee runtime
  • Standardize API-runtime
  • Remove PoW runtime (it previously existed just because I needed something without
  • Figure out how to make the light client actually build in the instant- and manual-seal nodes This is figued out and demonstrated in Manual seal light client #238 but needs an upstream PR. FIXME annotations are added to the code here.
  • Write up babe-grandpa recipe (mention node template is similar with aura instead of babe) This is deferred to a followup Add writeup for babe grandpa node #239
  • Write recipe for kitchen node
  • Prune instant seal stuff from manual seal node. (We have lots of instant seal nodes now.)

@JoshOrndorff JoshOrndorff marked this pull request as draft May 4, 2020 14:15
@JoshOrndorff JoshOrndorff requested a review from jimmychu0807 May 4, 2020 20:08
@JoshOrndorff
Copy link
Owner Author

@andresilva I've written this PR after our riot conversation the other day. It converts the recipes' nodes to instant-seal as you suggested. I'm hoping you could:

  • give it a quick general look tfor silly mistakes or oversights
  • help me figure out why I can't get light clients to compile in the instant-seal nodes

nodes/babe-grandpa-node/Cargo.toml Outdated Show resolved Hide resolved
nodes/babe-grandpa-node/Cargo.toml Show resolved Hide resolved
nodes/babe-grandpa-node/Cargo.toml Outdated Show resolved Hide resolved
nodes/babe-grandpa-node/src/chain_spec.rs Show resolved Hide resolved
nodes/babe-grandpa-node/src/command.rs Show resolved Hide resolved
text/3-entrees/runtime-api.md Outdated Show resolved Hide resolved
runtimes/super-runtime/src/lib.rs Outdated Show resolved Hide resolved
nodes/kitchen-node/Cargo.toml Outdated Show resolved Hide resolved
nodes/kitchen-node/src/service.rs Show resolved Hide resolved
JoshOrndorff and others added 2 commits May 7, 2020 10:31
Co-authored-by: David <dvdplm@gmail.com>
Co-authored-by: David <dvdplm@gmail.com>
@JoshOrndorff JoshOrndorff marked this pull request as ready for review May 8, 2020 05:10
@JoshOrndorff JoshOrndorff merged commit f881d2b into master May 8, 2020
@JoshOrndorff JoshOrndorff deleted the joshy-standardize-runtimes branch May 8, 2020 20:21
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants