This document is a guide on upgrading FIRMACHAIN from v0.3.3 to v0.3.5.
FIRMACHAIN will halt at block height
4,806,000once the Mainnet(Colosseum) proposal passes. The expected time of the aforementioned halt is December 20, 2022 UTC 14:00. Following are the features once the network upgrades to v0.3.5.
- IBC V3 - Upgraded from V1 to V3. Includes Interchain Account
- Wasmd - Module that enables cosmwasm. (The official version has been applied.)
- Minimum Commission Rate - “Minimum Commission Rate” has been adjusted per the second Proposal. (0% -> 5%). If you set your commission rate below 5% or fail to specify a commission rate when running the edit-validator transaction, the commission rate will automatically be set to 5%. Additionally, users who have been charged a commission of less than 5% will be charged a fixed 5% commission post-upgrade.
Following are the details on the module version change.
Prepare the FirmaChain v0.3.5 binary for the upgrade.
# You must install go, gcc and make in order to run the build.
sudo snap install go --classic
sudo apt install gcc
sudo apt-get install make
# Binary build
git clone https://github.com/firmachain/firmachain.git
git checkout v0.3.5-patch
Once the chain network reaches block height
4,806,000on the v0.3.3, the network will display an “Error Message’ and will come to a halt. However, the process will still remain in alive state. If you see the following error message, please manually kill the nodes. (If you have registered using system service, you must STOP the service.)
# Error message
ERR UPGRADE "v0.3.5" NEEDED at height: 4806000:
panic: UPGRADE "v0.3.5" NEEDED at height: 4806000:
So you have to manually kill
# using binary
# using system service
sudo systemctl stop firmachaind
If you are faced with any problems during the upgrade, you might have to restart the upgrade from the original version. Therefore, we highly recommend you backup the original version of the network before upgrading. (Per Pruning Default approximately 200~250 GB expected)
tar -cvf firmachain_bak_20221220.tar .firmachain
Once you’ve killed the chain, please change to v0.3.5 binary created using make install.
sudo mv ~/go/bin/firmachaind /usr/local/bin/firmachaind
Please check the version once you’ve prepared your binary. If the version information is different from the one mentioned in the “Code Block” below, please create a new binary or contact us to solve the issue.
# Check binary version
firmachaind version --long
=> name: FirmaChain
# Check build
firmachaind version --long | grep "wasm"
=> Output Message
- github.com/CosmWasm/[email protected]
Once you’ve checked the version, please restart the chain.
# using binary
# using system service
sudo systemctl start firmachaind
Cosmovisor is a chain binary process manager that monitors the chain upgrade proposals. Once the upgrade proposal “Pass”, Cosmovisor will automatically download the new version and once the network hits the designated block height in the proposal, the chain will restart using the downloaded binary.
Changing the binary file path of v0.3.3. If you are building the chain using Cosmovisor, the chain will restart using the chain binary in genesis/bin.
# v0.3.3 binary
sudo mv /usr/local/bin/firmachaind $DAEMON_HOME/cosmovisor/genesis/bin/firmachaind
Changing the binary file path of v0.3.5. Once the block height reaches the predesignated height, Cosmovisor will automatically select the appropriate version in the Upgrade path to restart the chain.
# v0.3.5-patch binary
mv go/bin/firmachaind $DAEMON_HOME/cosmovisor/upgrades/v0.3.5/bin/firmachaind
If you start using Cosmovisor, the process will start from the binary in the genesis. At the upgrade block height, the chain will automatically restart with the v0.3.5-patch binary.
cosmovisor run start