- https://github.com/neutron-org/neutron/releases/tag/v3.0.6
- Chain upgrade height:
11298600
. Exact upgrade time can be checked here. - Go version has been frozen at
1.21
. If you are going to build Neutron binary from source, make sure you are using the right GO version!
Prior to the upgrade, validators are encouraged to take a full data snapshot. Snapshotting depends heavily on infrastructure, but generally this can be done by backing up the .neutrond
directory.
If you use Cosmovisor to upgrade, by default, Cosmovisor will backup your data upon upgrade.
It is critically important for validator operators to back-up the .neutrond/data/priv_validator_state.json
file after stopping the neutrond 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.
We need to disable automatic restart of the node service. To do so please alter your neutrond.service
file configuration and set appropriate lines to following values.
Restart=no
Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=false"
Environment="DAEMON_RESTART_AFTER_UPGRADE=false"
After that you will need to run sudo systemctl daemon-reload
to apply changes in the service configuration.
There is no need to restart the node yet; these changes will get applied during the node restart in the next step.
This upgrade requires neutrond
to have knowledge of the planned halt height. Please be aware that there is an extra step at the end to revert to neutrond
's original configurations.
There are two mutually exclusive options for this stage:
-
Stop the neutrond process.
-
Edit the application configuration file at
~/.neutrond/config/app.toml
so thathalt-height
reflects the upgrade plan:
# Note: Commitment of state will be attempted on the corresponding block.
halt-height = 11298600
-
Start neutrond process
-
Wait for the upgrade height and confirm that the node has halted
-
Stop the neutrond process.
-
Do not modify
app.toml
. Restart theneutrond
process with the flag--halt-height
:
neutrond --halt-height 11298600
- Wait for the upgrade height and confirm that the node has halted
After performing these steps, the upgrade will proceed as usual using Cosmovisor.
git clone https://github.com/neutron-org/neutron.git
cd $HOME/neutron
git pull
git fetch --tags
git checkout v3.0.6
make install
$ neutrond version --long
name: neutron
server_name: neutrond
version: 3.0.6
commit: 5e9889e3d8439b10f6f0f14fa659381e7bf1d4ac
...
$ shasum -a 256 neutrond-linux-amd64
05de98841c94f66dde9db0dea269a636500795479f990f550cf39b4bfa2ad82d neutrond-linux-amd64
cp $GOPATH/bin/neutrond ~/.neutrond/cosmovisor/current/bin
If you are using a service file, restore the previous Restart
settings in your service file:
Restart=On-failure
Reload the service control sudo systemctl daemon-reload
.
Depending on which path you chose for Step 1, either:
- Reset
halt-height = 0
option in theapp.toml
or - Remove it from start parameters of the neutrond binary and start node again