-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
Move generalizable genesis logic out of gaia #3006
Labels
C:genesis
relating to chain genesis
S:needs more info
This bug can't be addressed until more information is provided by the reporter.
S:proposed
Milestone
Comments
This is pretty similar to what I did with the One note, we should have a standard |
Dope! I think this does warrant having a |
cc @alessio |
5 tasks
jackzampolin
added
the
S:needs more info
This bug can't be addressed until more information is provided by the reporter.
label
Feb 7, 2019
5 tasks
5 tasks
5 tasks
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
C:genesis
relating to chain genesis
S:needs more info
This bug can't be addressed until more information is provided by the reporter.
S:proposed
There is a lot of genesis logic which could be generalized and moved out of gaia. Likely this should go in it's own package, but maybe it could be lumped in with
server/
? not totally sure. Certain gaia genesis logic of course does belong in gaia such as the "free" tokens which all genesis validators are assigned in this current incarnation of the gaia genesis logic. However much of the module logic could be generalized I believe. Namely:We could create a genesis interface which genesis modules could satisfy. Might look somethings like:
Each module would then include custom function
NewModuleGenesis
, which may have arbitrary inputs, for instance for staking, asPreprocess()
would calculate the total "loose" tokens, it would need an array of the accounts as input to itsNewModuleGenesis
function.I'd expect that the genesis logic would be initialized with an array of the modules as well as custom application processing. Here custom application processing means things independant of the modules, for instance in gaia right now we give all the validators some free tokens arbitrarily, this type of things would go in
applicationGenLogic
. Might look something like this (although not sureapplicationGenLogic
should only be afunc()
):Ultimately, using a predefined genesis logic set as is being proposed here should be optional, aka, we should not enforce the use of this genesis flow if a project wants to have the level of control which gaia currently holds over genesis. - but I think that the most projects can likely fit into a generalized scheme.
CC @alessio @jackzampolin @ValarDragon @cwgoes @alexanderbez
-> feel free to edit/expand on this main comment here!
The text was updated successfully, but these errors were encountered: