Skip to content

Latest commit

 

History

History
112 lines (73 loc) · 3.24 KB

README.md

File metadata and controls

112 lines (73 loc) · 3.24 KB

This is an important security update. IT IS CONSENSUS BREAKING, so please apply the fix only on height 1236300.

Upgrade Neutron from v1.0.2 to v1.0.3

Release Details

To upgrade neutron chain

Step 1: Alter systemd service configuration

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 
RestartSec=3      <- remove line

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.

Step 2: Restart neutrond with a configured halt-height.

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:

Option 1: Set the halt height by modifying app.toml

  • Stop the neutrond process.

  • Edit the application configuration file at ~/.neutron/config/app.toml so that halt-height reflects the upgrade plan:

# Note: Commitment of state will be attempted on the corresponding block.
halt-height = 1236300
  • Start neutrond process

  • Wait for the upgrade height, and proceed to Step 2.

Option 2: Restart the neutrond binary with command line flags

  • Stop the neutrond process.

  • Do not modify app.toml. Restart the neutrond process with the flag --halt-height:

neutrond --halt-height 1236300
  • Wait for the upgrade height and confirm that the node has halted

After performing these steps, the upgrade will proceed as usual using Cosmovisor.

Setup Cosmovisor

Create the updated Neutron binary of v1.0.3

  • Go to neutron directory if present else clone the repository
   git clone https://github.com/neutron-org/neutron.git
  • Follow these steps if neutron repo already present
   cd $HOME/neutron
   git pull
   git fetch --tags
   git checkout v1.0.3
   make install

Check current neutron version

   ~/.neutrond/cosmovisor/current/bin/neutrond version
   # Output should be
   1.0.2

Check the new neutron version, verify the latest commit hash

  $ neutrond version --long
  name: neutron
  server_name: neutrond
  version: 1.0.3
  commit: 1c701333f7400dda62de6e3541ac98a6a1ba5d77

Copy the new neutron (v1.0.3) binary to cosmovisor current directory

   cp $GOPATH/bin/neutrond ~/.neutrond/cosmovisor/current/bin

Revert neutrond configurations

Depending on which path you chose for Step 1, either:

  • Reset halt-height = 0 option in the app.toml or
  • Remove it from start parameters of the neutrond binary and start node again