Transitioning from Morden to Ropsten | Ethereum Foundation Post

Published:

Testing a Transition

It is expected that Spurious Dragon Block 2675000 will be released in the coming week. The transition is planned for Tuesday night (Central European Time). The Morden Testnet was set up with block 1885000. To ensure a smooth changeover, the testnet had to be forked prior to the mainnet. The post-fork state is running smoothly.

The Morden fork was activated on November 20, 2016, 06:12.20 + UTC, as anticipated, at block 1885000. A little later, there was a consensus issue at block 1885074 for Geth and Parity.

Protection from Replication

Since it was launched, the Morden Testnet has been operational (July 2015). There have been concerns about replay attacks throughout. To stop this, Morden and Mainnet both used a nonce compensation mechanism. All accounts in Morden began with a nonce of 2^20 instead of 0to ensure that valid transactions on one chain are not considered valid on the other.

The new EVM guidelines regarding nonces, combined with the Morden-specific nonce rules, caused the Geth and Parity incompatibility in block 1885074.

Impact on the Main Network

Any issues encountered during the setup of Spurious Dragon Testnet were Morden-specific. There are no known issues which could affect the main network.

Creating a New “Ropsten” Test Network

Aside from the impending forks, discussion has already begun about initiating a new testnet from a new genesis block to make syncing simpler. As the difficulty bomb has already caused block times to increase visibly, if it is left unchecked, they will only continue to rise. So it is the perfect time to depart from Morden and begin a fresh testnet.

Clients will be updated to use Ropsten instead of Morden as the default testnet. For those who want to get started with Ropsten, the genesis file can be downloaded Here and the Ropsten Network ID is:3

  • Geth: geth –datadir /path/to/testnet/data init genesis.json; geth –datadir /path/to/testnet/data –networkid 3 console
  • Parity: Load ropsten.jsonthen parity –string path/to/ropsten.json

Related articles

Recent articles