Downtime: Upgrading to HF26

in #witness2 years ago (edited)

It's time for the next Hive Hardfork 26, which will probably happen on Tuesday October 11th. I will be taking my server offline for the next few hours to perform scheduled maintenance and to upgrade my witness node software to HF26.

This post describes the steps for performing an upgrade with an existing HIAB installation.

First the witness node should be disabled by opening the wallet using ./run.sh wallet and performing a disable transaction (replace with your details if needed):

update_witness "primersion" "https://peakd.com/witness/@primersion/becoming-a-witness" "STM1111111111111111111111111111111114T1Anm" {"account_creation_fee":"3.000 HIVE","maximum_block_size":65536,"hbd_interest_rate":2000} true

The important part is the STM1111111111111111111111111111111114T1Anm, which tells Hive that the witness node should be disabled.
Next stop the node by calling ./run.sh stop and perform system updates by calling (Ubuntu):

sudo apt update -y
sudo apt autoremove -y
sudo apt upgrade

Make sure to reboot your server afterwards.
Now head over to your hive-docker installation folder and call git pull to pull in the latest changes from git and install the latest image calling ./run.sh install.

Next make sure your shared memory is set to at least 24G by calling ./run.sh shm_size 24G and clean the shared memory using ./run.sh clean shm. If you want to download the block log from scratch again, (compression was introduced, which will safe you about 50% of storage), instead call ./run.sh clean and ./run.sh dlblocks after.

You are almost done - the last step is to replay the blockchain by calling ./run.sh replay and you can monitor the progress with ./run.sh logs.

Now you'll just have to wait for the replay to finish, which may take from a few hours up to a few days, depending on your setup.
After that re-enable your node by broadcasting an update_witness transaction (see above) and replace the STM1111111111111111111111111111111114T1Anm with your actual signing key.

EDIT: After upgrading to HF26 and replaying you will also have to add plugin = wallet_bridge_api to your config.ini and restart the witness node using ./run.sh restart, for the ./run.sh wallet to work properly again. Otherwise the broadcasting of transactions will fail.

That's all - happy upgrading and Hive On!