Pell Cosmovisor

- 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
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
#cosmovisor version 1.7source $HOME/.bash_profilego install cosmossdk.io/tools/cosmovisor/cmd/cosmovisor@latest
- Check cosmovisor version:
cosmovisor version
3. Create cosmovisor directory
mkdir -p $HOME/.pellcored/cosmovisor/genesis/bin
# Set permission for cosmovisorsudo chown -R $USER:$USER $HOME/.pellcored/cosmovisor
# Copy new version binary to genesis foldersudo cp $HOME/go/bin/pellcored $HOME/.pellcored/cosmovisor/genesis/bin/
4. Verify the Setup
# Check the story version in genesis folder. It should be old version is v1.0.22$HOME/.pellcored/cosmovisor/genesis/bin/pellcored version
- Update service file:
sudo tee /etc/systemd/system/pellcored.service > /dev/null <<EOF[Unit]Description=Pell NodeAfter=network.target
[Service]User=rootEnvironment="LD_LIBRARY_PATH=/root/.pellcored/lib"Environment="DAEMON_NAME=pellcored"Environment="DAEMON_HOME=/root/.pellcored/"Environment="DAEMON_ALLOW_DOWNLOAD_BINARIES=true"Environment="DAEMON_RESTART_AFTER_UPGRADE=true"Environment="DAEMON_DATA_BACKUP_DIR=/root/.pellcored/data"Environment="UNSAFE_SKIP_BACKUP=true"ExecStart=/root/go/bin/cosmovisor run startRestart=alwaysRestartSec=3LimitNOFILE=65535
[Install]WantedBy=multi-user.targetEOF
5. Stop & Restart node
sudo systemctl stop pellcored
sudo systemctl daemon-reloadsudo systemctl restart pellcored && sudo journalctl -fu pellcored -o cat
6. Manual Setup New Binary Version (Optional)
If you want to manually prepare the upgrade:
# Create upgrades directorymkdir -p $HOME/.pellcored/cosmovisor/upgrades/v1.1.1/bin
# Download new binarywget https://github.com/0xPellNetwork/network-config/releases/download/v1.1.1-ignite/pellcored-v1.1.1-linux-amd64 -O pellcored
# Verify checksumecho "ca510d53ddbe1b0013749911206c3feb57f1494581633342fc3024cb1e17783b pellcored" | sha256sum -c
# Make binary executable and move to upgrades folderchmod +x pellcoredsudo mv pellcored $HOME/.pellcored/cosmovisor/upgrades/v1.1.1/bin/
# Verify binary version$HOME/.pellcored/cosmovisor/upgrades/v1.1.1/bin/pellcored version
7. Manual Binary Switch (If Cosmovisor Auto-Switch Fails)
# Stop the nodesudo systemctl stop pellcored
# Remove current symlinkrm /root/.pellcored/cosmovisor/current
# Create new symlink to upgrades directoryln -s $HOME/.pellcored/cosmovisor/upgrades/v1.1.1 /root/.pellcored/cosmovisor/current
# Verify symlinkls -l $HOME/.pellcored/cosmovisor/current
# Start the nodesudo systemctl start pellcored
# Check logs to ensure node is running with new binarysudo journalctl -u pellcored -f