--- layout: post published: true title: 'Ropsten TTD Announcement' date: '2022-06-03' author: Protocol Support Team category: Research & Development image: https://storage.googleapis.com/ethereum-hackmd/upload_ae4fdccde72988ce82e722f47913acb3.png --- * A `Terminal Total Difficulty (TTD)` of **`50000000000000000`** has been selected for the Ropsten Merge. * Stakers and node operators must manually override the `TTD` in both their execution and consensus layer clients **before June 7, 2022**. * Proof-of-Work testnets can have volatile hash rates and the exact timing of The Merge on Ropsten is hard to predict accurately. Assuming no unexpected hash rate fluctuations, we expect The Merge to happen around **June 8-9, 2022**. * Note that syncing an execution layer client on Ropsten may take several hours to days and **is required** to run through The Merge. ## Background Earlier this week, the Ropsten testnet's transition to proof-of-stake [was announced](https://blog.ethereum.org/2022/05/30/ropsten-merge-announcement/). Due to the instability of hash rate on proof-of-work testnets, client releases supporting the upgrade were configured using an artificially high `Terminal Total Difficulty (TTD)`. This ensured that The Merge could not be triggered before the Ropsten Beacon Chain was ready. Yesterday, at slot `24000`, the Bellatrix upgrade activated on the Ropsten Beacon Chain, priming the network to run through The Merge. A new `TTD` value of **`50000000000000000`** has been chosen to trigger the transition. **Node operators & stakers need to manually update this `TTD` value on both their execution and consensus layer clients prior to the network reaching this total difficulty.** The current network total difficulty is part of the block header and can be obtained by querying your node or visiting a block explorer. Assuming no unexpected changes in network hash rate, we expect this total difficulty value to be hit, and `TTD` to be exceeded, around June 8-9, 2022. ## Ropsten Merge Client Versions To perform the Terminal Total Difficulty override, node operators and stakers must run the following client versions or more recent ones. Note that both the consensus and execution layer clients must be fully synced before The Merge, and that execution layer clients may take several hours to days to do so. ### Consensus Layer | Name | Version | Link | | -------- | -------- | -------- | | Lighthouse | Baby Wizard (2.3.0) | [Download](https://github.com/sigp/lighthouse/releases/tag/v2.3.0) | Lodestar | v0.37.0 | [Download](https://github.com/ChainSafe/lodestar/releases/tag/v0.37.0) | | Prysm | v2.1.3-rc.2 | [Download](https://github.com/prysmaticlabs/prysm/releases/tag/v2.1.3-rc.2) | Nimbus | v22.5.2 | [Download](https://github.com/status-im/nimbus-eth2/releases/tag/v22.5.2) | Teku | v22.5.2 | [Download](https://github.com/ConsenSys/teku/releases/tag/22.5.2) ### Execution Layer | Name | Version | Link | | -------- | -------- | -------- | | Besu | v22.4.2 | [Download](https://github.com/hyperledger/besu/releases/tag/22.4.2) | Erigon | v2022.05.08 | [Download](https://github.com/ledgerwatch/erigon/releases/tag/v2022.05.08) | go-ethereum (geth) | v1.10.18 | [Download](https://github.com/ethereum/go-ethereum/releases/tag/v1.10.18) | | Nethermind | v1.13.1 | [Download](https://github.com/NethermindEth/nethermind/releases/tag/1.13.1) **🚨 NOT PART OF BLOG POST - USE ONE OF THE FOLLOWING NOTES BASED ON ERIGON RELEASE STATUS 🚨** (🚨1🚨) **Erigon note:** while v2022.05.08 is compatible with the Ropsten Merge, it is recommended to update to **vXXX**, which contains several merge-related improvements. (🚨2🚨) **Erigon note:** while v2022.05.08 is compatible with the Ropsten Merge, a new Erigon release which contains several merge-related improvements is expected shortly. Users should upgrade when the release is available for the best experience. ## Terminal Total Difficulty Override To activate The Merge at the right time, node operators and stakers must override **both** their execution and consensus layer clients' `Terminal Total Difficulty (TTD)` value to **`50000000000000000`**. Here are instructions for doing so with each client: ### Execution Layer #### Besu * If using TOML configuration files, add the following line: `override-genesis-config=["terminalTotalDifficulty=50000000000000000"]` * Or, when starting the node using the CLI, add the following flag: `--override-genesis-config="terminalTotalDifficulty=50000000000000000"` #### Erigon * When starting the node using the CLI, add the following flag: `--override.terminaltotaldifficulty=50000000000000000` #### Go-Ethereum (geth) * When starting the node using the CLI, add the following flag: `--override.terminaltotaldifficulty 50000000000000000` #### Nethermind * When starting the node using the CLI, add the following flag: `--Merge.TerminalTotalDifficulty 50000000000000000` * This can also be set in your client's [configuration file](https://docs.nethermind.io/nethermind/ethereum-client/configuration#config-file) or [environment variables](https://docs.nethermind.io/nethermind/ethereum-client/configuration#environment-variables), by setting the `TerminalTotalDifficulty` value to `50000000000000000` ### Consensus Layer #### Lighthouse * When starting the node using the CLI, add the following flag: `--terminal-total-difficulty-override=50000000000000000` #### Lodestar * When starting the node using the CLI, add the following flag: `--terminal-total-difficulty-override 50000000000000000` * For more information, see [this blog post](https://blog.chainsafe.io/lodestar-v0-37-0-bopsten-ready-release-231d185e3e1e). #### Nimbus * When starting the node using the CLI, add the following flag: `--terminal-total-difficulty-override=50000000000000000` #### Prysm * When starting the node using the CLI, add the following flag: `--terminal-total-difficulty-override 50000000000000000` * This can also be set in the `config.yaml` file by updating the `TOTAL_TERMINAL_DIFFICULTY` value in your configuration directory and restarting your client. #### Teku * When starting the node using the CLI, add the following flag: `--Xnetwork-total-terminal-difficulty-override=50000000000000000` ## FAQ ### As a node operator or staker, what should I do? As mentioned in the [Ropsten Merge Announcement](https://blog.ethereum.org/2022/05/30/ropsten-merge-announcement/), node operators & stakers on Ropsten must update their execution and consensus layer clients the versions listed above or more recent ones. Once that is done, node operators & stakers must manually override the Ropsten `Terminal Total Difficulty (TTD)` value on **both their execution and consensus layer client** using the commands listed above. Lastly, make sure both your execution and consensus layer clients are fully synced before The Merge. This may take up to several days for execution layer clients. ### As an application or tooling developer, what should I do? With The Merge going live on Ropsten, now is the time to ensure that your product works as expected through the proof-of-stake transition and in a post-merge context. As explained in a [previous post](https://blog.ethereum.org/2021/11/29/how-the-merge-impacts-app-layer/), The Merge will have only minimal impact on a subset of contracts deployed on Ethereum, none of which should be breaking. Additionally, the lion's share of user API endpoints remain stable (unless you use proof-of-work specific methods such as `eth_getWork`). That said, most applications on Ethereum involve much more than on-chain contracts. Now is the time to ensure that your front-end code, tooling, deployment pipeline and other off-chain components work as intended. We strongly recommend that developers run through a complete testing & deployment cycle on Ropsten (or [Kiln](https://blog.ethereum.org/2022/03/14/kiln-merge-testnet/)) and report any issues with tools or dependencies to those projects' maintainers. If you are unsure where to open an issue, please use [this repository](https://github.com/eth-clients/merge-testnets/). ### As an Ethereum user or Ether holder, is there anything I need to do? No. The Ethereum mainnet is not affected by this testnet. Subsequent announcements will be made on this blog before mainnet's transition. ### As a miner, is there anything I need to do? No. If you are mining on the Ethereum mainnet or Ropsten, you should be aware that each network will operate entirely under proof-of-stake after The Merge. At that point, mining will no longer be possible on the network. This is expected around June 8-9, 2022 on Ropsten and later this year for the Ethereum mainnet. ### wen merge? As of the publication of this post, the date for the Ethereum mainnet proof-of-stake transition has **not** been set. Any source claiming otherwise is likely to be a scam. Updates will be posted on this blog. Please stay safe! Assuming no issues are found with Ropsten, once client testing is complete, Ethereum's other testnets, will run through The Merge. Once Goerli and Sepolia have successfully transitioned and stabilized, a slot height will be chosen for the Bellatrix upgrade on the Beacon Chain and a [terminal total difficulty value](https://eips.ethereum.org/EIPS/eip-3675#terminal-total-difficulty-vs-block-number) will be set for the mainnet transition. Clients will then make releases that enable The Merge on mainnet. These will be announced on this blog and in other community publications. The image below illustrates this process: ![](https://storage.googleapis.com/ethereum-hackmd/upload_7999f4cbbb43da1b376e2bf76eb467d1.png) Note that this assumes every step goes as expected. If issues are found at any point in the process or test coverage is judged to be insufficient, these will be addressed before continuing with the deployment process. Only then will it be possible to estimate the exact date for The Merge. In other words, 🔜.