This page is designed to explain the upgrade process from Exocore (exocoretestnet_233-7) to Imuachain (imuachaintestnet_233-8).
Last updated
Imuachain v1.1.0 brings support for manual upgrades using Cosmovisor. It is recommended that all validators install and use Cosmovisor to manage the node to make future upgrades easier and less manual than they are currently.
COSMOVISOR_VERSION="v1.7.0"
wget -O cosmovisor_${COSMOVISOR_VERSION}.tar.gz "https://github.com/cosmos/cosmos-sdk/releases/download/cosmovisor%2F${COSMOVISOR_VERSION}/cosmovisor-${COSMOVISOR_VERSION}-$(uname -s | tr '[:upper:]' '[:lower:]')-$(uname -m | sed 's/x86_64/amd64/' | sed 's/aarch64/arm64/').tar.gz"
Extract and install the binary to /usr/bin which will need root privileges.
tar -xvzf cosmovisor_${COSMOVISOR_VERSION}.tar.gz
mv cosmovisor /usr/bin/
and move it to /usr/bin as well. Then, initialize the cosmovisor and imuad folders in a $HOMEDIR of your choice. You may need to , if not created already.
# The top three items below may be edited as you see fit
export IMUA_USER="imuauser"
export HOMEDIR="/home/$IMUA_USER/.imuad"
export MONIKER="moniker"
# Leave these unchanged
export DAEMON_NAME="imuad"
export DAEMON_HOME=$HOMEDIR
export CHAIN_ID="imuachaintestnet_233-8"
cosmovisor init $(which imuad)
# also initialize imuad
imuad --home $HOMEDIR init --chain-id $CHAIN_ID $MONIKER
imuad --home $HOMEDIR config chain-id $CHAIN_ID
# file, or test, may be used for headless systems. test is insecure and not
# recommended for production systems.
imuad --home $HOMEDIR config keyring-backend file
$HOMEDIR/config/config.toml
# Comma separated list of seed nodes to connect to
seeds = "5dfa2ddc4ce3535ef98470ffe108e6e12edd1955@seed2t.exocore-restaking.com:26656,4cc9c970fe52be4568942693ecfc2ee2cdb63d44@seed1t.exocore-restaking.com:26656"
persistent_peers = "d5b8d5ac3f399d0fdd1678fa0f419bd0e55f944d@peer1t.exocore-restaking.com:20000,63ab38c845a9cd41f9626db0fd0a227d2407eb3e@peer2t.exocore-restaking.com:26656"
$HOMEDIR/config/app.toml
###############################################################################
### Base Configuration ###
###############################################################################
# The minimum gas prices a validator is willing to accept for processing a
# transaction. A transaction's fees must meet the minimum of any denomination
# specified in this config (e.g. 0.25token1;0.0001token2).
minimum-gas-prices = "0.0001hua"
<! -- truncated -->
###############################################################################
### gRPC Configuration ###
###############################################################################
[grpc]
# Enable defines if the gRPC server should be enabled.
enable = true
Now, copy over the account keys and validator key from the exocored folder to this one.
export OLD_HOMEDIR="$HOME/.exocored" # or a custom value
cp -r --preserve=all $OLD_HOMEDIR/keyring-* $HOMEDIR/
cp -f --preserve=all $OLD_HOMEDIR/config/priv_validator_key.json $HOMEDIR/config
/etc/systemd/system/cosmovisor.service
[Unit]
Description=Start Cosmovisor for imuad
After=network.target
[Service]
Type=simple
User=imuauser
Group=imuauser
# Point to your user
Environment="HOME=/home/imuauser"
# Change to your HOMEDIR value
Environment="HOMEDIR=/home/imuauser/.imuad"
# If running non-validator node, `--oracle` may be excluded
ExecStart=/usr/bin/cosmovisor --cosmovisor-config ${HOMEDIR}/cosmovisor/config.toml run start --oracle --home ${HOMEDIR}
[Install]
WantedBy=default.target
Once your node is fully synced, you can unjail your validator if necessary.
Next, we need to configure imuad as instructed .
Configure the with its new configuration in the $HOMEDIR folder. Note that the configuration format has changed and this step must therefore be performed manually.
and place it in the correct location inside $HOMEDIR/config. Create the cosmovisor.servicefile provided below and start the service using systemctl start cosmovisor. Make sure to own everything with the correct user by using chown -R imuauser:imuauser $HOMEDIR.