Skip to content
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

Proper GenesisConfig #89

Closed
5 tasks done
PopcornPaws opened this issue Jan 13, 2023 · 1 comment · Fixed by #106
Closed
5 tasks done

Proper GenesisConfig #89

PopcornPaws opened this issue Jan 13, 2023 · 1 comment · Fixed by #106
Assignees

Comments

@PopcornPaws
Copy link
Contributor

PopcornPaws commented Jan 13, 2023

Description

Once the chain is up and running, and available to a wider audience, we cannot just stop, recompile and restart the chain. We would need to operate with runtime upgrades from that point on, which requires some preparation. To be honest, we should start working with runtime updates as soon as possible to become comfortable with the process, see #87 for more details.

Since runtime upgrades require root access, we should specify an admin key in the sudo pallet at genesis. This can be set in gn-node/src/chain_spec.rs. For this we should generate an admin key that's only known to us. In case we want to reassign sudo privileges to another account, the sudo pallet has the set_key method just for that purpose. We could even set it to the zero address if we want.

We should also generate 3 initial proof-of-authority keys as validators and maybe a faucet.

Solution

  • generate an admin key and add it to the Sudo genesis config and premint some tokens for it
  • generate 3 initial validator keys and premint some tokens for them
  • generate a faucet and premint lots of tokens for them
  • store the validator keys in the keystore (automatically?)
  • figure out how new validators can join the chain #103
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant