- Withdrawals are coming! The Shapella network upgrade will be activated on the Goerli network at the time 162304scheduled for 22:25:36 UTC on March 14, 2023
- Stakers and node operators should also read this article as well as the FAQ on withdrawals
- THE Zhejiang Test Network can be used to test Shapella features before upgrading to Goerli
- A Call to the Shapella Community is scheduled for 15:00 UTC on March 13, 2023
- You can now sign up to receive emails about these upgrade announcements. Scroll to the bottom of the page to do so 📩
After a good Transition SepoliaThe Shapella upgrade is now scheduled for the Goerli testnet. This is likely the last testnet upgrade before Shapella is scheduled for the Ethereum mainnet.
This upgrade follows The merger and allows validators to withdraw their stake from the Beacon Chain to the execution layer. It also introduces new features in both the execution layer and the consensus layer, described below.
Upgrade Specifications
The Shapella upgrade combines changes to the execution layer (Shanghai) and the consensus layer (Capella). The Engine API, which is used by the execution and consensus layers to communicate, is also changed in Shapella.
Shanghai
Runtime layer changes included in Shanghai are available hereFor reference, they are:
Note that EIP-6049 is only a deprecation warningCustomer teams expect SELF-DESTRUCTION The semantics will change in future network upgrades, but the opcode behavior remains unchanged in Shanghai.
Additionally, the full set of changes to Shanghai can now be viewed in the Ethereum Execution Layer Specification (EELS)which is a new Python reference implementation for the runtime layer.
Chapel
Changes to the consensus layer for the Capella upgrade are specified in the acapella directory of the Specifications for version v1.3.0-rc.3At a high level, the upgrade introduces:
- Full and partial withdrawals for validators
- BLSToExecutionChange messages, which allow validators using a PREFIX_WITHDRAWAL_BLS to update it to a WITHDRAWAL_PREFIX_ADDRESS_ETH1a prerequisite for withdrawals
- Independent state and bloc historical accumulators, replacing the original singular historical roots
Punters are encouraged to read the Withdrawal FAQ for more information on how they should prepare for Capella.
Engine API
Changes to the engine API can be found in the shanghai.md file of the Runtime API deposit. In short, a WithdrawalV1 the structure is introduced and added to various relevant structures and methods.
Client versions
The following client versions support Shanghai and Capella on the Goerli testnet. Note that these versions are only for Goerli. A later announcement will be made for mainnet releases.
When choosing which client to execute, validators should be particularly mindful of the risks associated with executing a majority client on both EL and CL. An explanation of these risks and their consequences can be found here. An estimate of the current distribution of EL and CL clients and guides for switching from one client to another are available. here.
Versions of the Goerli consensus layer
Note: The Lodestar version was previously v1.6.0-rc.0To avoid any problems, especially if using MEV-boost, users must downgrade to v1.5.1.
Goerli Execution Layer Versions
Note: the go-ethereum version was previously v1.11.3To avoid potential transaction pool issues, users should update to v1.11.4.
FAQ
As an Ethereum user or holder, is there anything I should do?
In short, no.
If you’re using an exchange, digital wallet, or hardware wallet, you don’t need to do anything unless your exchange or wallet provider asks you to take additional steps.
If you are running your own Ethereum node or validator, see the following questions.
As a non-staking node operator, what should I do?
To be compatible with the Goerli upgrade, update your node to the version of your Ethereum client listed in the table above.
As a staker, what should I do?
To be compatible with the Goerli upgrade, update your node to the version of your Ethereum client listed in the table above.
We recommend that you read the Withdrawal FAQ. Additionally, you can test things on the ephemeral Zhejiang Test Network before activating the upgrade on Goerli.
Note that Goerli will be the last testnet upgrade before the mainnet. In other words, last call to test your configuration! If you have any questions, we recommend that you contact the Call to the Shapella Community.
What if I am a staker or node operator and am not participating in the upgrade?
If you are using an Ethereum client that is not updated to the latest version (listed above), your client will sync to the pre-fork blockchain once the upgrade is complete.
You will be stuck on an incompatible chain under the old rules and will not be able to send Ether or operate on the post-Shapella Ethereum network.
As an application or tool developer, what should I do?
Shapella does not introduce any radical changes to smart contracts. Application and tool developers should review the upgrade changes to ensure that fixes are applied or to understand how to use the newly introduced features.
Why “Shapella”?
The execution layer updates follow the names of Devcon cities, and the consensus layer updates follow the names of stars. “Shapella” is the combination of Shanghai, the location of Devcon 2, and Capella, the brightest star in the northern constellation Auriga.
Where can I monitor the upgrade?
EthStaker is hosting a livestream during the Goerli upgrade. You can watch it here.
Help – I still have questions!
If you have any further questions, you can contact the Call to the Shapella Community March 13 at 15:00 UTC. Client developers, researchers, and others will be there to answer your questions.
Cover image by Yiran Ding