Ethereum’s Ropsten testnet is now back up and running with the Constantinople upgrade just four days after a Trump tweet led to a chain-split in the “lab” due to a consensus bug reaching different gas charging results in ethereum’s two main clients, Geth and Parity.
The bug was fixed within hours late Sunday, with Parity launching a new upgrade client on Tuesday. Leading to a fairly eventful Wednesday when four chains were running on the testnet.
Coordination between coders and miners followed, with it all concluding at around 21:49 PM London time when Noel Maersk, an eth dev, said:
“The canonical chain is now also the heaviest one, among geth and parity (the fixed releases). The only Harmony node on the Ropsten stats page is still catching up. The trinity node (mine) is working in LES-client mode, so isn’t indicative of anything.
The aleth node is seemingly lagging mining a side-chain of its own – its reported block hash doesn’t match.”
The two main clients are now in synch, producing identical blocks and reaching identical results according to a block comparison site.
So the saga is over, at least for now, as this has been running without any visible problems for about twelve hours so far.
Testing will continue for a few more weeks, with devs then eventually fairly confident all is fine, so may announce a mainnet block number.
When that will happen exactly depends on how things progress. The initial estimate was perhaps mid-November. Now late November looks more likely if it happens this year at all. Otherwise it would be January.
The cause of the bug appears to have been a misunderstanding regarding EIP spec implementation, with certain incorrect assumptions made.
Better communication thus is just one lesson among many as detailed by Lane Rettig, an eth dev working on eWASM.
That ranges from the nature of the testnet, to the EIP process itself, with many things learned in this very short period of four days as devs unintentionally practiced in the lab the response to an unintentional chain-split.
With it all now apparently over and some level of normality returned as the testnet blockchain seemingly moves along smoothly, without any problem.