nimbus-eth2 icon indicating copy to clipboard operation
nimbus-eth2 copied to clipboard

Implement the Capella beacon chain spec

Open zah opened this issue 3 years ago • 2 comments

The Capella beacon chain spec changes are defined here: https://github.com/ethereum/consensus-specs/blob/dev/specs/capella/beacon-chain.md#introduction

As a first step, we should implement the Capella state transition in expectation of test vectors that might be published in the future. The task will include the following:

  1. Define a new capella module in the beacon_chain/spec/datatypes folder. The module will hold the new definitions for types such as ExecutionPayload, BeaconBlockBody, BeaconState, etc, as well as the brand new types such as Withdrawal and BLSToExecutionChange.

  2. Extend the BeaconStateFork enum with additional Capella value and handle the fallout from the change.

  3. Introduce the modifications to the state transition functions (as done for previous forks such as Altair and Bellatrix). All existing code should continue to compile normally (i.e. make and make test should complete successfully). block_sim can be extended to test Capella transitions.

zah avatar Aug 08 '22 11:08 zah

From this task I guess I'm more than half way through (3), compile times are getting close to the unmodified repo compile times. However it's quite hard to understand how far along I am as there is no percentage counter 🤔

In general (2 Fallout from the change) has been pretty massive.

tavurth avatar Aug 24 '22 12:08 tavurth

Done, shipping.

tersec avatar Mar 07 '23 12:03 tersec