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
bkchr
left a comment
There was a problem hiding this comment.
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 <git@kchr.de>
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) ...
RococoGenesisExtis removed. It was the hack to allow overwritingEpochDurationInBlocks. Removal ofRococGenesisExtprevents from manipulating the state to change the runtime constants.Changes:
time::EpochDurationInBlocksvalue was added:ROCOCO_EPOCH_DURATION(epoch duration will be set to the value of env),10,100,600versions of rococo-runtime are built in CI and put intopolkadot-debugdocker image.rococo-runtimebuilding examples:versi_staging_testnetwhich had EpochDurationInBlocks set to 100:wococo_developmentversi-stagingchain spec:wococo-devchain 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
codefield.Step towards: #25