Cosmovisor Installation & Upgrades

Details of how to install cosmovisor and handle upgrades with it

Install Cosmovisor

go install github.com/cosmos/cosmos-sdk/cosmovisor/cmd/cosmovisor@latest

Confirm installation with:

which cosmovisor
####The output should be a path to the cosmovisor binary:
####/home/<user>/go/bin/cosmovisor

Add environment variables to shell

echo 'export DAEMON_NAME=quicksilverd' >> $HOME/.bash_profile
echo 'export DAEMON_HOME=$HOME/.quicksilverd' >> $HOME/.bash_profile
echo 'export DAEMON_DATA_BACKUP_DIR=$HOME/.quicksilverd/data_backup' >> $HOME/.bash_profile

Directory structure

Cosmovisor expects the following directory structure in $DAEMON_HOME/cosmovisor:

.
├── current -> genesis or upgrades/<name>
├── genesis
│   └── bin
│       └── $DAEMON_NAME
└── upgrades
    └── <name>
        └── bin
            └── $DAEMON_NAME

current is a symlink that will be created by cosmovisor.

Create the target directory structure with the following:

Set the genesis binary

Cosmovisor requires the genesis binary to be set. Do this by copying the quicksilverd binary to $DAEMON_HOME/cosmovisor/genesis/bin/$DAEMON_NAME

Configure cosmovisor as a system service

IMPORTANT: If you have limited disk space please set UNSAFE_SKIP_BACKUP=true. This will avoid an upgrade failure due to insufficient disk space when the backup is created.

Enable and start the cosmovisor service:

Check that the service is running:

Last updated