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

[TASK] Minimize runtime size and ensure runtime size fits with existing relay chain allowed sizes #19

Closed
3 tasks
dutterbutter opened this issue Jun 8, 2022 · 0 comments

Comments

@dutterbutter
Copy link
Contributor

Overview

It is recommended to use a compressed version of the runtime to lower the amount of resource consumption as much as possible for the relay chain.

It is recommended to launch a parachain with limited functionality and gradually increase it with runtime upgrades. The reason behind that is that during a runtime upgrade both the previous runtime and the new runtime are included in the PoVBlock and therefore if the changes are large enough the block might be rejected by the Relay Chain due to PoVBlock size limits.

If the runtime is included in the state proof, ensure the PoV block (i.e. the set of extrinsics, including the new runtime, the PoV state proof, potentially the old runtime) fits within the PoVBlock size limit. If the runtime is not included in the state proof, the size limit of the new runtime will be much higher.

We much check the following constraints:

  • The runtime version of the relay chain you are targeting (these may change)
  • MAX_CODE_SIZE
  • MAX_HEAD_DATA_SIZE
  • MAX_POV_SIZE

You must have your parachain fit comfortably within these maxima. You can also use the the Polkadot-JS Apps UI connected to a relay node to see these constants:

Developers -> ParachainsConfiguration -> ActiveConfiguration

Tasks

  • Determine what pallets to include on launch
  • Check if parachain fits comfortably within the maxima mentioned above
  • Make any adjustments if necessary
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Development

No branches or pull requests

1 participant