Skip to content

Story Cosmovisor

Story banner
  • Check go version #requirement go version above v.1.22 if you have Go v.1.22 already. Please skip install Go step.

1. Install go

Terminal window
cd $HOME && \
ver="1.22.0" && \
wget "https://golang.org/dl/go$ver.linux-amd64.tar.gz" && \
sudo rm -rf /usr/local/go && \
sudo tar -C /usr/local -xzf "go$ver.linux-amd64.tar.gz" && \
rm "go$ver.linux-amd64.tar.gz" && \
[ ! -f ~/.bash_profile ] && touch ~/.bash_profile && \
echo 'export PATH=$PATH:/usr/local/go/bin:$HOME/go/bin' >> ~/.bash_profile && \
source ~/.bash_profile && \
go version

2. Install Cosmovisor

Terminal window
#cosmovisor version 1.7
source $HOME/.bash_profile
go install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@latest
banner
  • Check cosmovisor version:
Terminal window
cosmovisor version
banner

3. Init Cosmovisor

  • Set DAEMON_HOME:
Terminal window
export DAEMON_NAME=story
echo "export DAEMON_NAME=story" >> $HOME/.bash_profile
export DAEMON_HOME=$HOME/.story/story
echo "export DAEMON_HOME=$HOME/.story/story" >> $HOME/.bash_profile
banner
  • Initialize Cosmovisor with DAEMON_HOME:
Terminal window
cosmovisor init $(whereis -b story | awk '{print $2}')
banner
  • Create the backup directory: Now that DAEMON_HOME is defined, you can create the necessary directories.
Terminal window
mkdir -p $DAEMON_HOME/cosmovisor/backup
echo "export DAEMON_DATA_BACKUP_DIR=$DAEMON_HOME/cosmovisor/backup" >> $HOME/.bash_profile
echo "export DAEMON_ALLOW_DOWNLOAD_BINARIES=false" >> $HOME/.bash_profile

After setting up, reload your environment variables with:

Terminal window
source $HOME/.bash_profile

4. Create upgrades folder

Terminal window
mkdir -p $HOME/.story/story/cosmovisor/genesis/bin
  • Stop node
Terminal window
sudo systemctl stop story
  • Update service file:
Terminal window
sudo tee /etc/systemd/system/story.service > /dev/null <<EOF
[Unit]
Description=Story Consensus Client
After=network.target
[Service]
User=root
Environment="DAEMON_NAME=story"
Environment="DAEMON_HOME=/root/.story/story"
Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=true"
Environment="DAEMON_RESTART_AFTER_UPGRADE=true"
Environment="DAEMON_DATA_BACKUP_DIR=/root/.story/story/data"
Environment="UNSAFE_SKIP_BACKUP=true"
ExecStart=/root/go/bin/cosmovisor run run
Restart=always
RestartSec=3
LimitNOFILE=65535
[Install]
WantedBy=multi-user.target
EOF
Terminal window
sudo systemctl daemon-reload
sudo systemctl start story && sudo systemctl status story
banner