How to update to hf21 with steem in a box

Words
360
Reading
2 min
Listen
Play
7y

Hello,

Today the witness that I manage steempress@steempress produced it's first block using the codebase from hard fork 21 !

We run steem in a box for our backup node and with this update there was more work than usual so I figured I would put a small guide for you all :)

Ubuntu 16 is no more

For a long time ubuntu 16 was king to build steem, but no more. We have moved on and now it's time to upgrade the docker container as well.

In order to do that, locate the Dockerfile in the dkr folder.

At the top you'll find

FROM ubuntu:xenial replace that with FROM ubuntu:bionic

Don't close the file yet, there's more.

gcc and g++ versioning

Now that we support more recent versions, there is no longer the need to specify a specific version for those tools (and your build will fail if you try to use the ones supplied with SIAB) so let's edit those !

Line 11 you'll find this :

apt-get install -y gcc-4.9 g++-4.9 cmake make libbz2-dev libdb++-dev libdb-dev && \

replace it to

apt-get install -y gcc g++ cmake make libbz2-dev libdb++-dev libdb-dev && \

(we just removed the -4.9 at the end of gcc and g++)

Once again, don't close the file yet.

Set steemd version

Our brave witnesses found a bug at the costs of a few missed blocks on the current release (https://github.com/steemit/steem/releases/tag/v0.21.0)

It is now patched but there has not been a new release. Instead there is a branch : https://github.com/steemit/steem/tree/0.21.x

UPDATE : v0.21.0 has been retagged, so you can use v0.21

So go to line 23

ARG steemd_version=stable

and replace it with

ARG steemd_version=v0.21.0

Now I heard that there has been some updates to SIAB that allowed to change versions using ./run.sh but this works really well for me so I didn't really bother to check it out.

Save the file and finally close it.

Replaying

Now this is back to you usual witness things, go back where run.sh is located and run

./run.sh build

and if there is no errors

./run.sh replay

get yourself comfy and wait for the replay to happen with ./run.sh logs

That's all for me ! If you found this post useful, please check out what steempress@steempress is doing, we released a big update recently, and consider voting steempress@steempress as a witness we would highy appreciate it :)