Skip to content
  • Michal Kucharczyk's avatar
    rococo-runtime: `RococoGenesisExt` removed (#1490) · 50242a61
    Michal Kucharczyk authored
    [`RococoGenesisExt`](https://github.com/paritytech/polkadot-sdk/blob/a414ea7515c9cdc81f1d12410e646afc148250e8/polkadot/node/service/src/chain_spec.rs#L152-L171
    
    )
    is removed. It was the hack to allow overwriting
    `EpochDurationInBlocks`. Removal of `RococGenesisExt` prevents from
    manipulating the state to change the runtime constants.
    
    Changes:
    - Environment variable which controls the `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 into `polkadot-debug` docker image.
    
    `rococo-runtime` building examples:
    - to build runtime for `versi_staging_testnet` which had
    EpochDurationInBlocks set to 100:
      ```
    ROCOCO_EPOCH_DURATION=100 cargo build --features=fast-runtime -p
    rococo-runtime
      ```
    - to build runtime for `wococo_development`
      ```
    ROCOCO_EPOCH_DURATION=10 cargo build --features=fast-runtime -p
    rococo-runtime
      ```
    - to build `versi-staging` chain spec:
      ```
    ROCOCO_EPOCH_DURATION=100 cargo run -p polkadot --features=fast-runtime
    -- build-spec --chain versi-staging --raw
      ```
    - to build `wococo-dev` chain spec:
      ```
    ROCOCO_EPOCH_DURATION=10 cargo run -p polkadot --features=fast-runtime
    -- build-spec --chain wococo-dev --raw
      ```
    
    It is also possible to change the epoch duration by replacing the `code` field in the chain spec with the hex dump of pre-built runtime wasm blob (because the epoch duration is hard-coded into wasm blob).
    
    ---------
    
    Co-authored-by: default avatarBastian Köcher <[email protected]>
    50242a61