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鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEAT] Support genesis from a merged state #11508

Closed
parithosh opened this issue Sep 28, 2022 · 2 comments 路 Fixed by #11746
Closed

[FEAT] Support genesis from a merged state #11508

parithosh opened this issue Sep 28, 2022 · 2 comments 路 Fixed by #11746
Assignees
Labels
Tracking Gotta Catch 'Em All

Comments

@parithosh
Copy link

parithosh commented Sep 28, 2022

馃 Feature Tracking

Opt-in feature flag name: --enable-merge-genesis-state

Feature Description

Current testnet tools all generate a phase0 genesis state and are perfect for testing the merge transition. However, now that the merge transition is completed on mainnet, we'd like to deprecate these tools to save on testing time/complexity with TTD. This would require client teams to support starting from a merge genesis state, i.e - post Bellatrix.

Since such a feature is mostly needed for testnets and internal testing tools, it'd be great to gate the acceptance of such a merge genesis state behind a flag, perhaps --enable-merge-genesis-state. Once the flag is enabled, the merge genesis state can be passed to the Prysm beacon node via the existing --genesis-state. In this manner, default behavior need not change (if that is a concern).

The feature request was briefly discussed in the interop channel of the Eth R&D discord server: here.

Tagging @z3n-chada and @marioevz for visibility.

Note for posterity: This feature flag would likely be used with --disable-staking-contract-check since post-merge testnets would have the deposit contract embedded in the EL's genesis.json. This flag disables the contract check in prysm, failing which Prysm will log Could not query block with given hash.

@parithosh parithosh added the Tracking Gotta Catch 'Em All label Sep 28, 2022
@protolambda
Copy link

Please consider making this general enough that future beacon-chain upgrades after the Merge (like withdrawals/4844) are also able to start from a genesis state. E.g. --genesis-state-type=phase0|altair|merge|4844| (Or better: determine the type of state from the configured hardfork epoch values).

@kasey
Copy link
Contributor

kasey commented Oct 25, 2022

@protolambda definitely, we have code that slices the fork version bytes out of a BeaconState ssz blob and figures out the correct versioned BeaconState type to deserialize it.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Tracking Gotta Catch 'Em All
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants