prysm
prysm copied to clipboard
[FEAT] Support genesis from a merged state
🦄 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.