1

I'm trying to implement a PoS network on substrate using substrate provided pallets - pallet_session, pallet_staking, pallet_babe, etc. The current Runtime and chain spec implementation is similar to what is found in the substrate repository. I've realized that I need to set Session keys for GenesisConfig before starting the blockchain. I also noticed that the Session keys set for SessionConfig are used to configure the grandpa authorities.

My questions are:

Is there a way to start the blockchain such that no session keys are set?

Do all grandpa authorities need to be hardcoded in the chain spec? If not, how are the authorities added after nodes have gone live?

1 Answer 1

1

Is there a way to start the blockchain such that no session keys are set?

No, then no one could produce blocks nor finalize blocks.

Do all grandpa authorities need to be hardcoded in the chain spec? If not, how are the authorities added after nodes have gone live?

All initial validators need to have set all session keys which includes the grandpa keys. After the chain is running new authorities will then be able to join by staking funds and being elected into the active set.

5
  • Would it be possible to reach a parity developer to ask further questions?
    – Kofi
    Mar 10, 2023 at 8:18
  • Further questions about what? You can always open an issue on github.
    – bkchr
    Mar 10, 2023 at 21:23
  • Further questions on how to modify substrate so the initial validators aren't required. Perhaps a guideline
    – Kofi
    Mar 11, 2023 at 7:40
  • That is not possible. You need at genesis validators. How would you otherwise want to produce blocks etc. I think you are putting too much thinking into something that isn't really any problem.
    – bkchr
    Mar 11, 2023 at 16:06
  • i am also stuck in the same problem. i have added the pallet_session in running solo chain and now want to configure this OnRuntimeUpgrade to add initial authorities but unable to do so. please need some guidence Jan 15 at 16:20

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.