With the launch of PoC V5, we unintentionally caused an API fork, where the blockchain couldn’t sync past the new election block. This happened due to the following reasons:
- The API had been running a partially upgraded blockchain-core dependency which knew only about a subset of the new consensus rules.
- We issued the PoC V5 chain variables without realizing that the API would not understand how to ingest the blocks after the new rules kick in after an election happens.
To address this, we’ve taken the following steps:
- Stopped the blockchain-api writer instance.
- Upgraded blockchain-core dependency in blockchain-api.
- Issued a
reset_ledgercommand on the blockchain-api which would bring back the correct ledger state and allow the blockchain-api to continue syncing and ingesting blocks.
The new code is running live on the blockchain-api prod instance now. We will continue to monitor its progress.