- Berlin is ready to be deployed!
- We are moving quickly: the first testnet to upgrade, Ropsten, is expected to be upgraded on March 10. The main network is scheduled for April 15.
- If you are running an Ethereum node, you should upgrade it to a Berlin-compatible version as soon as possible for test networks and by April 7 for the mainnet.
- See below for the list of Berlin-compatible client versions and details of the EIPs included in the upgrade.
- Customer Besu has reported a bug in their previous Berlin release. Besu users should upgrade to version 21.1.2.
After months and months of preparation, Berlin is finally here! The upgrade, which follows the Istanbul and Muir Glacier upgrades, is expected to go live on the Ethereum mainnet at block 12,244,000. We expect this to happen around Wednesday, April 15. 2021, but due to variability in block time the exact date may change.
Before being rolled out to the mainnet, the upgrade will be uploaded to the Ropsten, Goerli and Rinkeby test networks. The entire release schedule is as follows:
|Network||Block number||Predicted date|
|Ropsten||9 812 189||March 10, 2021|
|Goerli||4,460,644||March 17, 2021|
|Rinkeby||8,290,928||March 24, 2021|
|Main network||12,244,000||Apr 15, 2021|
Ethereum node operators must upgrade their nodes before the fork block on the networks they wish to participate in. Due to the variability of the block time, it is recommended to update several days before the scheduled date. See the section below for the appropriate client versions to upgrade to.
In order to be compatible with the Berlin upgrade, node operators will need to upgrade the client version they are running. The versions, listed below for each customer, support Berlin across all Ethereum networks, both testnets and mainnet.
|Customer||Version number||Download link|
|OpenEthereum (fka Parity)||3.2.0||Download|
Note that the Besu team reported a bug in version 21.1.1 related to Berlin (connect). Besu users must upgrade to version 21.1.2 in order to remain compatible with Berlin. Additionally, TurboGeth will not have a client version ready for the first test networks, but will have a version before the mainnet. We will update this article as their version becomes available. Trinity is now obsolete and will not support the Berlin upgrade.
The Berlin Upgrade introduces the following EIPs to the Ethereum network:
To learn more about each EIP, see Ethereum Cat Herder’s Berlin presentation station.
After Istanbul, we ran out of names for our planned network upgrades. Suggested to use Devcon city names for upgrades, and we stick to it! Berlin is where Devcon 0 has taken place, and the next upgrade will be called London, where Devcon 1 happened.
As an Ethereum User or Ether Holder, do I need to do something?
If you’re using an exchange (like Coinbase, Kraken, or Binance), a web wallet service (like Metamask, MyCrypto, or MyEtherWallet), a mobile wallet service (like Coinbase Wallet, Status.im, or Trust Wallet), or a hardware wallet (such as Ledger, Trezor, or KeepKey), you don’t have to do anything unless you are instructed to take further action by your exchange or wallet service.
As a node operator or miner, what should I do?
Download the latest version for your Ethereum client, as shown in the table above.
What if I am a miner or a node operator and do not participate in the upgrade?
If you are using an Ethereum client that is not updated to the latest version (listed above), your client will sync with the pre-fork blockchain after the upgrade is complete. You will be stuck on an incompatible chain following the old rules and you will not be able to send Ether or operate on the post-upgrade Ethereum network.
What is a network upgrade in Ethereum-land?
A network upgrade is a modification of the underlying Ethereum protocol, creating new rules to improve the system. The decentralized nature of blockchain systems makes it more difficult to upgrade the network. Network upgrades in a blockchain require cooperation and communication with the community, as well as with the developers of the various Ethereum customers in order for the transition to go smoothly.
What happens during a network upgrade?
Once the community has come to an agreement on what changes to include in the upgrade, the changes to the protocol are written to the various Ethereum clients, such as geth, Open Ethereum, Besu, and Nethermind. Protocol changes are enabled at a specific block number. Any nodes that have not been upgraded to the new rule set will be dropped on the old chain where the previous rules continue to exist.
Many thanks to the Ethereum community and all Ethereum developers from all customers and platforms who have come together to bring their input, thoughts and contribution to Berlin 😁🇩🇪
Now, let’s go London 🇬🇧!
It is a highly technical emerging and evolving space. If you choose to implement the recommendations in this article and continue to participate, you should make sure you understand how it affects you. You should understand that there are risks including, but not limited to, risks such as unexpected bugs. By choosing to implement these recommendations, you alone assume the risks of the consequences. This post and recommendations do not constitute a sale of any kind and do not create any warranties of any kind, including, but not limited to, anything relating to the Ethereum Network or the Ethereum clients referred to. here.