NOTE: DUE TO A SECURITY VULNERABILITY WE ARE POSTPONING CONSTANTINOPLE. PLEASE DISREGARD THE INSTRUCTIONS IN THIS BLOG POST. CLICK HERE FOR MORE INFORMATION.
The Ethereum network will be undergoing a scheduled upgrade at block number 7,080,000, which is predicted to occur on Wednesday, January 16, 2019. The exact date is subject to change depending on block times between now and then and could be activated 1-2 days before or after. A countdown timer can be seen at https://amberdata.io/blocks/7080000.
You can monitor the network upgrade in real time at http://forkmon.ethdevops.io/.
What is Constantinople?
Constantinople is the name given to this network upgrade. Previous network upgrades have been given other names such as Spurious Dragon and Byzantium.
As an Ethereum user or ether holder is there anything I need to do?
If you use an exchange (such as Coinbase, Kraken, or Binance), a web wallet service (such as Metamask, MyCrypto, or MyEtherWallet), a mobile wallet service (such as Coinbase Wallet, Status.im, or Trust Wallet), or a hardware wallet (such as Ledger, Trezor, or KeepKey) you do not need to do anything unless you are informed to take additional steps by your exchange or wallet service.
As a node operator or miner, what do I need to do?
Download the latest version of your Ethereum client:
What happens if I am a miner or node operator and I 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 to the pre-fork blockchain once the upgrade occurs. You will be stuck on an incompatible chain following the old rules and you will be unable to send ether or operate on the post-upgrade Ethereum network.
What is a network upgrade in Ethereum-land?
A network upgrade is a change to the underlying Ethereum protocol, creating new rules to improve the system. The decentralized nature of blockchain systems makes a network upgrade more difficult. Network upgrades in a blockchain require cooperation and communication with the community, as well as with the developers of the various Ethereum clients in order for the transition to go smoothly.
What happens during a network upgrade?
After the community comes to an agreement concerning which changes should be included in the upgrade, changes to the protocol are written into the various Ethereum clients, such as geth, Parity, and Harmony. The protocol changes are activated at a specific block number. Any nodes that have not been upgraded to the new ruleset will be abandoned on the old chain where the previous rules continue to exist.
What changes are going into Constantinople?
Changes that are implemented in Constantinople are defined using EIPs. Ethereum Improvement Proposals (EIPs) describe standards for the Ethereum platform, including core protocol specifications, client APIs, and contract standards. The following EIPs will be implemented in Constantinople.
- EIP 145: Bitwise shifting instructions in EVM
- EIP 1014: Skinny CREATE2
- EIP 1052: EXTCODEHASH opcode
- EIP 1283: Net gas metering for SSTORE without dirty maps
- EIP 1234: Constantinople Difficulty Bomb Delay and Block Reward Adjustment
A big thanks to the Ethereum community, and to all Ethereum developers across all clients and platforms who came together to provide input, thoughts, and contribution. Special thanks to Reddit user cartercarlson who let us use his Reddit post and the MyCrypto team who let us use their “Ethereum Constantinople: Everything You Need To Know” Medium post.
This is an emergent and evolving highly technical space. If you choose to implement the recommendations in this post and continue to participate, you should make sure you understand how it impacts you. You should understand that there are risks involved including but not limited to risks like unexpected bugs. By choosing to implement these recommendations, you alone assume the risks of the consequences. This post and recommendations are not a sale of any kind and do not create any warranties of any kind including but not limited to any relating to the Ethereum network or the Ethereum clients referred to herein.