Summary
- At 3:55 AM UTC-05:00 Network halted, block height 7941974
- At 5:05 AM UTC-05:00 New release created with rolled back fix, Version 10004-rc1-1645352045
- At 06:08 UTC-05:00 Network is back up
- Backing up configs, data, and keys used for running the Injective Canonical Chain.
- Install the Mainnet-10004-rc1-v1.4.0-1642928125
- Start your node with the new injectived binary to fulfill the upgrade.
#mainnet-validators private channel of the Injective Discord.
The network upgrade can take the following potential pathways:
- Happy path
Validators successfully migrate from the 10004-rc1 Injective Chain to 10004-rc1 patch without purging the blockchain history, and all validators are up within 1-2 hours. - Not-so-happy path
Validators have trouble upgrading the chain. This could be some consensus-breaking changes not covered in the upgrade handler, or compatibility issue of the migrated state with new injectived binary, but validators can at least export the genesis. - Abort path
In the rare event that the team becomes aware of unnoticed critical issues, the Injective team will attempt to patch all the breaking states and provide another official binary within 36 hours.
Recovery
Prior to exporting Injective state, validators are encouraged to take a full data snapshot at the export height before proceeding. Snapshotting depends heavily on infrastructure, but generally, this can be done by backing up the.injectived directory. We would suggest using aws s3 sync with the delete flag, this will shorten the snapshotting time as only the file diffs are uploaded to the S3 bucket.
It is critically important to back up the .injectived/data/priv_validator_state.json file after stopping your injectived process. This file is updated every block as your validator participates in consensus rounds. It is a critical file needed to prevent double-signing, in case the upgrade fails and the previous chain needs to be restarted.
Upgrade Procedure
-
Verify you are currently running the correct (pre-upgrade) version (
94583db) ofinjectived: -
After the chain has halted, make a backup of your
.injectiveddirectory
NOTE: It is recommended for validators and operators to take a full data snapshot at the export height before proceeding in case the upgrade does not go as planned or if not enough voting power comes online in a sufficient and agreed upon amount of time. In such a case, the chain will fallback to continue operating the existing Canonical Chain. See Recovery for details on how to proceed. - Download and install Injective 10004-rc1 release
-
Verify you are currently running the correct new version (
30b3dbf) ofinjectivedafter downloading the 10004-rc1 release: -
Coordinate to restart your injectived with other validators
The binary will perform the upgrade automatically and continue the next consensus round if everything goes well.