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:
- an updated seed-node list can be obtained here (more seed-nodes = faster sync):
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 secp256k: cd git clone https://github.com/bitcoin/secp256k1 cd secp256k1 ./autogen.sh ./configure make ./tests steem: cd git clone https://github.com/steemit/steem.git cd steem git submodule update --init --recursive cmake -DCMAKE_BUILD_TYPE=Release -DLOW_MEMORY_NODE=ON CMakeLists.txt make cd programs/steemd ./steemd CTRL-C 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.
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:
cd mkdir backup cd backup cp -p /dev/shm/shared_memory.bin . cp -p /dev/shm/shared_memory.meta . cd
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.
4- Steem Witness Channel Discussions.