Proposal is the reference on-chain governance proposal for this upgrade, which has passed with overwhelming community support. Neither core developers nor core funding entities control the governance, and this governance proposal has passed in a fully decentralized way.
The upgrade will take place at a block height of
5,113,000. At the time of writing, and at current block times, this block height corresponds approximately to
2022-09-19 08:00:00 UTC.
The chain-id of the network will remain the same,
titan-1. This is because an in-place migration of state will take place, i.e., this upgrade does not export any state.
32GB RAM is recommended to ensure a smooth upgrade.
If you have less than 32GB RAM, you might try creating a swapfile to swap an idle program onto the hard disk to free up memory. This can allow your machine to run the binary than it could run in RAM alone.
sudo fallocate -l 16G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
Prior to the upgrade, validators are encouraged to take a full data snapshot. Snapshotting depends heavily on infrastructure, but generally this can be done by backing up the
$HOME/.rizondirectory. If you use Cosmovisor to upgrade, by default, Cosmovisor will backup your data upon upgrade.
As a validator performing the upgrade procedure on your consensus nodes carries a heightened risk of double-signing and being slashed. The most important piece of this procedure is verifying your software version and genesis file hash before starting your validator and signing.
The riskiest thing a validator can do is discover that they made a mistake and repeat the upgrade procedure again during the network startup. If you discover a mistake in the process, the best thing to do is wait for the network to start before correcting it.
rizondto join Titan mainnet or Groot testnet
rizondv0.3.0 till upgrade height 5113000, the node will panic:
ERR UPGRADE "Gargantua" NEEDED at height: 5113000
panic: UPGRADE "Gargantua" NEEDED at height: 5113000
After stopping the node, install
rizondv0.4.0 and simply restart node by
git checkout v0.4.0
We highly recommend validators use cosmovisor to run their nodes. This will make low-downtime upgrades smoother, as validators don't have to manually upgrade binaries during the upgrade, and instead can preinstall new binaries, and cosmovisor will automatically update them based on on-chain SoftwareUpgrade proposals.
If you choose to use cosmovisor, please continue with these instructions:
To install Cosmovisor:
After this, you must make the necessary folders for cosmovisor in your daemon home directory ($HOME/.rizon).
mkdir -p $HOME/.rizon
mkdir -p $HOME/.rizon/cosmovisor
mkdir -p $HOME/.rizon/cosmovisor/genesis
mkdir -p $HOME/.rizon/cosmovisor/genesis/bin
mkdir -p $HOME/.rizon/cosmovisor/upgrades
# If you need, make Magnus directory
#mkdir -p $HOME/.rizon/cosmovisor/upgrades/Magnus
#mkdir -p $HOME/.rizon/cosmovisor/upgrades/Magnus/bin
Cosmovisor requires some ENVIRONMENT VARIABLES be set in order to function properly. We recommend setting these in your
.profileso it is automatically set in every session.
For validators we recommend setting
DAEMON_ALLOW_DOWNLOAD_BINARIES=falsefor security reasons
DAEMON_LOG_BUFFER_SIZE=512to avoid a bug with extra long log lines crashing the server.
DAEMON_RESTART_AFTER_UPGRADE=truefor unattended upgrades
echo "# Setup Cosmovisor" >> ~/.profile
echo "export DAEMON_NAME=rizond" >> ~/.profile
echo "export DAEMON_HOME=$HOME/.rizon" >> ~/.profile
echo "export DAEMON_ALLOW_DOWNLOAD_BINARIES=false" >> ~/.profile
echo "export DAEMON_LOG_BUFFER_SIZE=512" >> ~/.profile
echo "export DAEMON_RESTART_AFTER_UPGRADE=true" >> ~/.profile
echo "export UNSAFE_SKIP_BACKUP=true" >> ~/.profile
You may leave out
UNSAFE_SKIP_BACKUP=true, however the backup takes a decent amount of time and public snapshots of old states are available.
Finally, you should copy the current
rizondbinary into the
cp $GOPATH/bin/rizond $DAEMON_HOME/cosmovisor/genesis/bin
# If you need, copy to Magnus
#cp $GOPATH/bin/rizond $DAEMON_HOME/cosmovisor/upgrades/Magnus/bin
To prepare for the upgrade, you need to create some folders, and build and install the new binary.
mkdir -p $DAEMON_HOME/cosmovisor/upgrades/Gargantua/bin
git clone https://github.com/rizon-world/rizon
git checkout v0.4.0
cp $GOPATH/bin/rizond $DAEMON_HOME/cosmovisor/upgrades/Gargantua/bin
Now cosmovisor will run with the current binary, and will automatically upgrade to this new binary at the appropriate height if run with:
During the network upgrade, RIZON teams will be keeping an ever vigilant eye and communicating with operators on the status of their upgrades. During this time, the core teams will listen to operator needs to determine if the upgrade is experiencing unintended challenges. In the event of unexpected challenges, the core teams, after conferring with operators and attaining social consensus, may choose to declare that the upgrade will be skipped.
Steps to skip this upgrade proposal are simply to resume the network with the (downgraded)
v0.3.0binary using the following command:
rizond start --unsafe-skip-upgrade 5113000