DISCLAIMER: This guide is for FREE to use. :)
Source: https://que.com/howto-setup-witness-node-by-yehey/
Step by step guide on how to setup a Witness Node. Please see my references at the end of this article. This is not just a server it is a Witness Node server.
You can manually install Steem but @someguy123 prepared STEEM-in-a-Box using Docker with technical add-on courtesy by @drakos and my screen captured installation guide to keep it simple stupid (KISS).
What Server Specification is recommended? I've tested it using a minimum requirement listed below. You can buy or rent your server, it's up to you to decide.
- 4 CPU
- 16 GB RAM (8GB minimum)
- 300 GB SSD (100GB minimum)
When I setup a Server or a workstation. I always set the date and time correct, so I can get a good event logs later on for trouble shooting.
Set your timezone, for me it's EST (optional)
sudo timedatectl set-timezone America/New_York
Install all dependencies.
sudo apt updatesudo apt install git curl wget
Download Steem in the box courtesy by @someguy123 using git clone.git clone https://github.com/Someguy123/steem-docker.gitTHIS IS IMPORTANT. Logout, re-login, then change directory to steem-docker.cd steem-dockerLet's install docker../run.sh install_dockerYou will see something like this captured screen.Pre-compile Steem.
./run.sh installDownload a copy of blocks. This will take a couple of hours or shorter depending on your server specifications../run.sh dlblocksRun the wallet../run.sh remote_walletCreate a key pair for your witness.suggest_brain_key![]()
After running suggest_brain_key, copy your wif_priv_key and pub_key you will use this later on.
Adjust your Witness server memory. MUST re-adjust if server upgrade it's memory. DO NOT GIVE MORE SHARED MEMORY THAN YOU HAVE ACTUAL RAM AVAILABLE. e.g. In our server specification example, we are using 16GB RAM only use 14G for your shared memory.
sudo ./run.sh shm_size 14GEdit the config.ini file.nano data/witness_node_data_dir/config.iniSome data in config.ini file.shared-file-size = 14G
shared-file-dir = /shm
witness = "yehey" <-- change this using your Steem account ID.
private-key = 5KfKJ.............Put in your witness name, and your WIF private key from earlier. Be aware the name needs quotes, while the private key doesn't. You use the private key (wif_priv_key) you generated earlier and put into notepad.
To disable port forwarding for seeds:
nano .envOn a blank line, put the following: PORTS= DOCKER_NAME=witness./run.sh replayCheck the logs, every 10 minutes. Use this command to see the current logs../run.sh logsor if you want to be nerdy, use this command to see the logs in real-time
docker logs --tail=30 --follow witness
You will see something like this results.and this is the normal logs results.
Your Witness Node server is synced!
Running "top" (or htop if you installed it), currently running 5.6% CPU and 89% MEM. The 89% utilization of Memory is too high if you ask me, but this is enough to run your Witness Node server. In humble opinion, you need to bring up your RAM to at least 24GB or 32GB. This will be your decision on how you will go forward managing your Witness Node server.
I also check docker session, ps -aux | grep docker
That's a normal operations of my Witness Node server.
We are NOT done. Go to Steemit.com website, login to your account. Click on Wallet, Permission, click on Show Private Key. Your Active Private Key will appear as 5andSomeLongCharacter. Take note, your Active Private Key start in number 5 e.g. 5andSomeLongCharacter.
./run.sh walletSet a password, unlock the wallet with the same password, then import your ACTIVE private key from Steemit.com website.For example.
set_password "MyAlph4Num4r1cP4ssw0rd"
unlock "MyAlph4Num4r1cP4ssw0rd"
import_key 5andSomeLongCharacterFinally, update your witness information on the network.
update_witness "yehey" "https://steemit.com/witness-category/@yehey/My-Witness-Campaign" "Public_Key_from_Suggest_Brain_Key" {"account_creation_fee":"0.200 STEEM","maximum_block_size":65536,"sbd_interest_rate":0} trueIf no error, congratulation to you as a Witness!Now, vote for your self and yehey for Witness, go to https://steemit.com/~witnesses and vote for yehey.
As Witness, you are expected to send update for Price Feed. Thanks to @someguy123 there is a script ready to go.
Installation of Steem Feed JS.
First, download the git repository, then edit config.json as needed. The interval is in minutes.git clone https://github.com/Someguy123/steemfeed-js.git
cd steemfeed-js
cp config.example.json config.json
nano config.jsonSample config.json file. The Interval is 60 minutes, to send Price Feed update.
{ "name": "yehey", "wif": "5KUKG...ACTIVE_PRIVATE_KEY", "interval": 60 }Starting Via Dockerdocker build -t steemfeed-js .
docker run -itd --rm --name feed steemfeed-jsCheck the status with docker logs
docker logs feed
Got an error the first time running the docker logs feed, as shown below. Attempting to login account.
Waited to make sure the --replay-blockchain is fully synced, re-run the following command again.
docker build -t steemfeed-js . docker run -itd --rm --name feed steemfeed-js # Check the status with docker logs docker logs feed![]()
Checking your Price Feed update using @drakos https://steemian.info/witnesses website.
If you get an error running "docker logs feed", exit SSH and re-login again and it will correct itself.
Re-run ps aux | grep docker to check docker session. You will see the 3rd docker session pid "6297" as shown below. It will be a different number on your server.
That's all for now.
+++++++++++++++++++++++++++++++++++++++
The following procedures if you will upgrade your Witness Node server memory.
Upgrading my Witness Node server memory from 16GB to 26GB.New server running at 26GB RAM. ./run.sh stop sudo ./run.sh shm_size 24GEdit config.ini
shared-file-size = 24G./run.sh replay
After synched.
docker build -t steemfeed-js .
docker run -itd --rm --name feed steemfeed-jsCheck the status with docker logs
docker logs feed
Check your server memory, record utilization.
Use "docker logs --tail=30 --follow witness" same result when your run "./run.sh logs" with --follow is to monitor logs in realtime (thanks to @drakos).
+++++++++++++++++++++++++++++++++++
Some references I've used to build my Witness node and Seed node.
- @drakos Guide - https://busy.org/witness-category/@drakos/tips-and-guidelines-for-the-noob-witness-setup
- From the official GitHub page - Building Steem
- Complete Witness Installation Guide by @krnel
- The Complete Noob Guide to STEEM Witness Setup by @kyle
- Your Guide to Setting up a Witness Server @someguy123
- Steem Feed JS - https://github.com/Someguy123/steemfeed-js/
- A really gentle guide to be coming a witness by @personz
I wrote this article and first posted this HOWTO Guide at https://que.com/howto-setup-witness-node-by-yehey/
Please VOTE @yehey for Witness, go to https://steemit.com/~witnesses and vote for yehey.
Or via the command line: vote_for_witness youraccount yehey true trueFollow me @Yehey. Please Vote Up and RESTEEM.
Thank youhttps://steemit.com/witness-category/@yehey/yehey-for-witness
https://steemit.com/colorchallenge/@yehey/color-challenge-friday-blue-in-the-water
https://steemit.com/robots/@yehey/facial-recognition-robot
Great and valuable info @yehey
Keep it coming .
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit