-
Notifications
You must be signed in to change notification settings - Fork 690
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
rococo-runtime: RococoGenesisExt
removed
#1490
rococo-runtime: RococoGenesisExt
removed
#1490
Conversation
It is extracted part of #1256 |
@paritytech/devrel , @the-right-joyce I wanted to give you a heads-up about some changes that have just been made in this PR. I've modified the default You can find additional details in the PR description. This change could affect tutorials (and docs maybe?) that rely on timing within these runtimes. Therefore, I request you to please review and update them accordingly, and include information on how to adjust timings based on these changes. Thank you for your attention. note: this is copy of comment previously made in |
cc @Sophia-Gold since you're using |
From the point of view of the Devops team that is generating those chainspec to launch testnets, this doesn't look very If we could simply have a |
Our test nets are running with at least 1 hour session length any way or not? And 1 hour is still the default. |
No, Versi has shorter sessions and we would like to keep it at that as session changes are something very crucial to test. |
Yeah and it will still be possible. It will just work differently. This entire changing of the session length was a hack from the beginning, that I should never have used :P |
I appreciate the change to make it fully configurable. However, being able to change runtime constants without building from source could be very useful. But I guess, we will have to accept that we won't have a way to build fast-runtime chainspecs from the released binary after this change.
|
We want to go away from configuring runtime parameters using state trie. The only other solution I see, is to - by default - build the rococo runtime binary with smaller The following values were used in runtimes, I assume that we are talking only about keeping
Technically should be doable. The question is if we should build another runtime version by default or is it OK for you to build it on your side? Maybe we should move this request to new ticket? |
This is one of the only ones we support this. I have done this as a hack in 2020 or somewhere then to make it easy to test stuff locally. Versi for sure doesn't fall into this category and I see no problem for you to just rebuild the runtime. In the future we will also be able to support to only build the runtime to build a chain spec, so you will not need to build the entire node. This will then result in a quite fast turn around (assuming you only change something in the runtime This said, we probably should take the performance hit and also build a fast runtime for |
@bkchr I've just realized that it may not be doable for native runtime. We can't just build the other version of native Am I missing something? |
The native runtime isn't used anymore. So, this is fine. We can do something like here. |
The current The current process to launch a new testnet is as follows:
I propose instead having:
Let's have:
I hope this will work and the only difference between the |
Yeah no, we will not support three different lengths for the epoch duration. @michalkucharczyk can provide you a script for building the stuff in the correct way. @BulatSaif given that you already patch the chainspec manually, you could also overwrite the |
We did it in the past as a result we had a chain that is impossible to update (current wococo). After we apply the runtime update chain will stop producing the blocks I would like to avoid modifying the substrate code by the DevOps team as we are not familiar with the codebase. But we need a way to deploy and update chains with small session time. It will speed up the development of the parachain team since they can onboard or off board parachains faster. |
Yeah that is reasonable. However, noting down which network uses which session length sounds like a doable task. You will not need to modify any code, you will just need to set an env variable at build time to the appropriate number. |
|
This is the good news, can we have similar option |
I did some experiment, and added pre-built runtimes into Rutimes are not explicitly built by polkadot-sdk/.gitlab/pipeline/build.yml Lines 22 to 23 in 2eddd98
There is also another small script to update the code in chain-spec (2eddd98):
If that is acceptable, we could keep this as final solution. @bkchr, @BulatSaif wdyt? |
The proposed alternative solution to build chainspec with shorter epoch duration looks good. I did not run the scripts but it looks clear and we can use it. |
…genesis-ext-removed
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Mainly nitpicks. For bash scripts IDK. They look very complicated and not sure what they are doing. I would have thought this is just some ROCOCO_EPOCH_DURATION=100 build-wasm-only.sh rococo-runtime
script. However, I have no strong views around this, as long as someone finds it useful.
Co-authored-by: Bastian Köcher <[email protected]>
This script will leave in different repository.
* master: (24 commits) Init System Parachain storage versions and add migration check jobs to CI (#1344) no-bound derives: Use absolute path for `core` (#1763) migrate alliance, fast-unstake and bags list to use derive-impl (#1636) Tvl pool staking (#1322) improve service error (#1734) frame-support: `RuntimeDebug\Eq\PartialEq` impls for `Imbalance` (#1717) Point documentation links to monorepo (#1741) [NPoS] Fix for Reward Deficit in the pool (#1255) Move import queue from `ChainSync` to `SyncingEngine` (#1736) Enable mocking contracts (#1331) Revert "fix(review-bot): pull secrets from `master` environment" (#1748) Remove kusama and polkadot runtime crates (#1731) Use `Extensions` to register offchain worker custom extensions (#1719) [RPC-Spec-V2] chainHead: use integer for block index and adjust RuntimeVersion JSON format (#1666) fix(review-bot): pull secrets from `master` environment (#1745) Fix `subkey inspect` output text padding (#1744) archive: Implement height, hashByHeight and call (#1582) rpc/client: Propagate `rpc_methods` method to reported methods (#1713) rococo-runtime: `RococoGenesisExt` removed (#1490) PVF: more filesystem sandboxing (#1373) ...
* tsv-disabling-node-side: (24 commits) Init System Parachain storage versions and add migration check jobs to CI (#1344) no-bound derives: Use absolute path for `core` (#1763) migrate alliance, fast-unstake and bags list to use derive-impl (#1636) Tvl pool staking (#1322) improve service error (#1734) frame-support: `RuntimeDebug\Eq\PartialEq` impls for `Imbalance` (#1717) Point documentation links to monorepo (#1741) [NPoS] Fix for Reward Deficit in the pool (#1255) Move import queue from `ChainSync` to `SyncingEngine` (#1736) Enable mocking contracts (#1331) Revert "fix(review-bot): pull secrets from `master` environment" (#1748) Remove kusama and polkadot runtime crates (#1731) Use `Extensions` to register offchain worker custom extensions (#1719) [RPC-Spec-V2] chainHead: use integer for block index and adjust RuntimeVersion JSON format (#1666) fix(review-bot): pull secrets from `master` environment (#1745) Fix `subkey inspect` output text padding (#1744) archive: Implement height, hashByHeight and call (#1582) rpc/client: Propagate `rpc_methods` method to reported methods (#1713) rococo-runtime: `RococoGenesisExt` removed (#1490) PVF: more filesystem sandboxing (#1373) ...
RococoGenesisExt
is removed. It was the hack to allow overwritingEpochDurationInBlocks
. Removal ofRococGenesisExt
prevents from manipulating the state to change the runtime constants.Changes:
time::EpochDurationInBlocks
value was added:ROCOCO_EPOCH_DURATION
(epoch duration will be set to the value of env),10,100,600
versions of rococo-runtime are built in CI and put intopolkadot-debug
docker image.rococo-runtime
building examples:versi_staging_testnet
which had EpochDurationInBlocks set to 100:wococo_development
versi-staging
chain spec:wococo-dev
chain spec:Chain-specs can also be built using provided sample script. As the epoch duration is hard-coded into wasm blob, it is enough to replace the
code
field.Step towards: #25