Skip to content
Snippets Groups Projects
  • Bulat Saifullin's avatar
    Convert chainspec to raw (#4057) · d96a9752
    Bulat Saifullin authored
    The plain `people-kusama` and `coretime-kusama` chainspecs were uploaded
    at https://github.com/paritytech/polkadot-sdk/pull/3961. Only binaries
    with compatible runtime versions can run with plain chainspec. For
    example:
    
    One of the latest master builds fails:
    
    ```
    docker run paritypr/polkadot-parachain-debug:master-216509db --chain coretime-kusama
    ...
    Error: Service(Client(Storage("wasm call error Other: Exported method GenesisBuilder_get_preset is not found"))
    ```
    
    Master build from 5 days ago:
    
    ```
    docker run paritypr/polkadot-parachain-debug:master-68cdb126 --chain coretime-kusama
    ...
    2024-04-08 16:51:02 [Parachain] :hammer: Initializing Genesis block/state (state: 0xc418…889c, header-hash: 0x638c…d050)
    2024-04-08 16:51:03 [Relaychain] :hammer: Initializing Genesis block/state (state: 0xb000…ef6b, header-hash: 0xb0a8…dafe)
    2024-04-08 16:51:03 [Relaychain] :older_man: Loading GRANDPA authority set from genesis on what appears to be first startup.
    2024-04-08 16:51:03 [Relaychain] :baby: Creating empty BABE epoch changes on what appears to be first startup.
    2024-04-08 16:51:03 [Relaychain] :label: Local node identity is: 12D3KooWQEp2uPow3FnngGmy9dYQ3qxY1GkmumS5MqBWEQscwTyy
    2024-04-08 16:51:03 [Relaychain] :package: Highest known block at #0
    ...
    ```
    
    ## Changes:
    
    1. Rename:
    ```
    coretime-kusama.json -> coretime-kusama-genesis.json
    people-kusama.json -> people-kusama-genesis.json
    ```
    
    2. Generate raw chainspec:
    
    ```
    docker run --rm -v $(pwd):/dir paritypr/polkadot-parachain-debug:master-68cdb126 build-spec --raw --chain /dir/people-kusama-genesis.json > people-kusama.json 
    docker run --rm -v $(pwd):/dir paritypr/polkadot-parachain-debug:master-68cdb126 build-spec --raw --chain /dir/coretime-kusama-genesis.json > coretime-kusama.json
    ```
    
    ## Tests:
    
    New chainspec can run on the latest master build:
    
    ```
    docker run -it --rm -v $(pwd):/dir paritypr/polkadot-parachain-debug:master-216509db --chain /dir/coretime-kusama.json
    ...
    2024-04-09 16:44:39 [Relaychain] :gear:️ Syncing, target=#22665488 (8 peers), best: #2371 (0x19f8…5f3a), finalized #2048 (0xede6…f879), :arrow_down: 388.6kiB/s :arrow_up: 87.0kiB/s
    2024-04-09 16:44:39 [Parachain] :zzz: Idle (6 peers), best: #0 (0x638c…d050), finalized #0 (0x638c…d050), :arrow_down: 6.3kiB/s :arrow_up: 2.8kiB/s
    ```
    
    Plain chainspec will fail:
    
    ```
    docker run -it --rm -v $(pwd):/dir paritypr/polkadot-parachain-debug:master-216509db --chain /dir/coretime-kusama-genesis.json
    ... 
    Error: Service(Client(Storage("wasm call error Other: Exported method GenesisBuilder_get_preset is not found")))
    ```
    Unverified
    d96a9752
Code owners
Assign users and groups as approvers for specific file changes. Learn more.