Skip to content

Latest commit

 

History

History
77 lines (48 loc) · 2.04 KB

upgrade.md

File metadata and controls

77 lines (48 loc) · 2.04 KB

Upgrade Guide

This is a step-by-step guide on how to perform a software upgrade for your SignCTRL validator set.

ℹ️ This guide assumes you have completed the Setup Guide before.

Download The New Version

Check out the latest version via

$ git checkout <version_tag>

and install it via

$ make install

Configuration

There is a possibility that the structure of the config.toml might contain breaking changes in which case you'll have to safely port over your old configuration to the new format.

If you're using the default configuration directory, back it up via

$ cp -R /path/to/.signctrl /path/to/.signctrl_old

and delete it via

$ rm -rf /path/to/.signctrl

Initialize the new config directory

Next, create a new configuration directory by initializing SignCTRL via

$ signctrl init

This will give you

/path/to/.signctrl/
├── config.toml
└── conn.key

ℹ️ The conn.key is only used on a per-connection-basis to authenticate SignCTRL to the validator, so it doesn't need to be ported over from the old configuration.

Copy the key and state files

Now, that you have your new .signctrl/ configuration directory, you can copy over the priv_validator_key.json and priv_validator_state.json files via

$ cp /path/to/.signctrl_old/priv_validator_*.json /path/to/.signctrl

Compare the config.toml files

There is currently no automatic way of porting over old configuration settings into new formats, so for now, this process will remain manual. Open both config.toml files side by side, copy over known fields from the old config.toml and finally fill in the new fields.

Rolling Update

ℹ️ Replace all occurrences of simd with the name of your binary.

Alright, we're all set up for the upgrade! The beauty of SignCTRL is that it can be upgraded with minimal or no downtime at all.

Just restart the SignCTRL daemon via

$ sudo systemctl restart signctrl