Witness Update December 2016, How to setup a Stable Witness Node After HF16 A to Z

in witness-category •  last year

After meddling enough with the main witness node on HDD decided it's time to move my main witness node to a new dedicated server with a little more resources and speed. On a system with HDD and optimal settings a block miss is to be expected. I have encountered a few since HF16 at a rate of 3 or 4 per week.

New Server Specs:

*Intel® Xeon® D-1531

  • 6C / 12T @2.2 Ghz
  • 32 GB DDR4 RAM
  • 2 × 250 GB SSD

With this server the first thing to notice was the amazing speed DDR4 RAM offers.
This witness node started signing blocks as of 12/26/2016 with 294 blocks missed from mining/other_setup.

How to setup a Stable witness node after HF16:

This information was provided by a number of current witnesses who ran different settings/configs and provided the data in the witness channel or on Steemit posts:
( @abit @arhag @smooth @bhuz @aizensou @riverhead @complexring and others )

This setup assumes you have Ubuntu 16.04 installed and System RAM of 32GiG with an SSD drive:
(if you are running this on a 16GiG RAM system please pay attention to the notes)

Installing Steem for witness production:

sudo apt-get update
sudo apt-get install git cmake g++ python-dev autotools-dev libicu-dev build-essential
sudo apt-get install libbz2-dev libboost-all-dev libssl-dev libncurses5-dev 
sudo apt-get install doxygen libreadline-dev dh-autoreconf

git clone https://github.com/bitcoin/secp256k1
cd secp256k1

git clone https://github.com/steemit/steem.git
cd steem
git submodule update --init --recursive

cd programs/steemd
nano witness_node_data_dir/config.ini

seed-node =  
shared-file-dir = /dev/shm
shared-file-size = 16G #set at 12G if you have 16GiG of RAM
flush = 0
public-api = database_api #login_api 
enable-plugin = witness #account_by_key
witness = "YourWitnessName" #with quotes
private-key = witness_private_signing_key # without quotes

CTRL - X  save & exit
Note: If you are running this on a 32GiG RAM system you are all set, skip to run steemd.
If you are running this on a 16GiG Ram system run this command:

sudo mount -o remount,size=12G /dev/shm

#Run steemd 
./steemd --shared-file-dir /dev/shm/

# when your node is fully synced
# switch private keys to this node from cli_wallet using update_witness command.

Witness Settings:

I have chosen the following witness controlled variables;

  • account creation fee : 35.00 Steem ( steemit promises $5 worth of Steem upon signup)
  • Price Feed Bias: -1% (SBD price slightly above $1)
  • SBD interest Rate: 5% (To encourage conversion to Steem)

This completes my move to a new stable witness node with an SSD drive and appropriate RAM to deal with Steemd v0.16.0 & ChainBase - I/O Issues. I will be monitoring this setup for any issues that might come up.

These are screenshots I took during the setup:
Starting steemd with a full sync:

Steemd fully synced about an hour later:

shut down steemd and tested replay:

After the replay was done I shut down steemd and backed up the blockchain files:

mkdir backup
cd backup
cp -p /dev/shm/shared_memory.bin .
cp -p /dev/shm/shared_memory.meta .

You will need to copy these files back to /dev/shm/ in case of a reboot or accidental shutdown.

If you encounter any errors during setup, or notice something wrong in this post, please let me know in comments.


1- https://steemit.com/witness-category/@abit/best-practice-running-steemd-v0-16-0
2- https://steemit.com/witness-category/@bhuz/steemd-v0-16-0-and-chainbase-i-o-issues-and-possible-solutions
3- https://steemit.com/witness-category/@aizensou/witness-update
4- Steem Witness Channel Discussions.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  Trending

Thank you, something I need to learn from.


You're welcome.

Thanks for sharing this info. I might experiment with this a little bit myself if I have time. Keep up the great work and have a great holiday season:)


Thank you. You have a great holiday season too bud. Let me know if any issues come up.


Thanks will do:)


Actually forgot to mention that it was thanks to your awesome tips that I got my Steem mining rig up and running in the early days - your beginners guide got a linux noob like me up and running in about an hour! It was kind of my inspiration for all the guides that I have done on Steemit and Steemithelp :) Never got a chance to thank you on that because it was past the 30 day mark when I used it - so a belated thank you for that too mate!


Oh man, so glad to hear that. These words mean a lot to me, and are much more valuable than any upvote.


Well you never know how an act of kindness may help another person:) Thank you for doing it.

Thank you for keep this process up to date and well documented Joseph, the community appreciates you. :)


Thank You, I try to keep a record of all discussions and tips for running a node at optimal settings. Luckily we have a number of witnesses who are aggressive in testing all the settings and reporting what works best. A few are named in the post, but all participated in these discussions.

im voting for you man since some time already!

Just now now voted you for witness, thanks for all your good work!


Thank you, much appreciated.


Your welcome, happy to support you!