(UPDATED January 10, 2018) Step by step guide (STEP 01 - 15) 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.
Source: https://que.com/howto-setup-witness-node-by-yehey/
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
- 32 GB RAM (recommend minimum) // Updated January 10, 2018
- 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
Step 01. Install all dependencies.
sudo apt updatesudo apt install git curl wget
Step 02. 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-dockerStep 03. Let's install docker../run.sh install_dockerYou will see something like this captured screen.Step 04. Pre-compile Steem.
./run.sh installStep 05. Download a copy of blocks. This will take a some of hours depending on your server specifications../run.sh dlblocksStep 06. Run the wallet../run.sh remote_walletStep 07. Create a key pair for your witness.suggest_brain_keyAfter running suggest_brain_key, copy your wif_priv_key and pub_key you will use this later on.
Step 08. 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 32GB RAM only use 30G for your shared memory.
sudo ./run.sh shm_size 30GStep 09. Edit the config.ini file.nano data/witness_node_data_dir/config.iniSome data in config.ini file.p2p-endpoint = 0.0.0.0:2001
shared-file-size = 30G (my initial server is using 16G no longer sufficient)
shared-file-dir = /shm
witness = "yehey" <-- change this using your Steem account ID.WIF PRIVATE KEY to be used by one or more witnesses or miners
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 using suggest_key_brain and put into notepad.
Step 10. To disable port forwarding for seeds:
nano .envOn a blank line, put the following: PORTS= DOCKER_NAME=witnessStep 11.
./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! You're not done, continue reading this article.
Running "top" (or htop if you installed it) will you an idea of your memory usage, see sample captured screen image below. This example shows 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 32GB (as of January 10, 2018).
I also check docker session, ps -aux | grep docker
That's a normal operations of my Witness Node server.
Step 12. 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 5andSomeLongCharacterStep 13. Finally, 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! Welcome to the STEEM Witness Club.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.
Step 14. 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.
{ "node": "wss://steemd.privex.io/", // Added Jan 8, 2018 to point to new server. "name": "yehey", "wif": "5KUKG...ACTIVE_PRIVATE_KEY", "interval": 60 }Step 15. Starting Steemfeed-jscd steemfeed-js
docker 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 feedChecking your Price Feed update using @drakos https://steemian.info/witnesses website. Or go to https://steemdb.com/@yehey to check your price feed update. You will see mine updating every hour.
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.
To find out when did you processed a block, visit https://steemdb.com/@yehey/blocks change @yehey using your account.
What's Next? You need to advertise to your family and friends that you are now a Witness and ask them to vote for you. Give them reason why their votes matter and how you give back to the community.
+++++++++++++++++++++++++++++++++++++++
The following procedures if you will upgrade your Witness Node server memory.
Upgrading my Witness Node server memory from 32GB to 48GB.New server running at 48GB RAM. ./run.sh stop sudo ./run.sh shm_size 46GEdit config.ini in ~/steem-docker/data/witness_node_data_dir
shared-file-size = 46G./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" (two dash line) same result when your run "./run.sh logs" with --follow is to monitor logs in realtime (thanks to @drakos).
Run crontab to restart every two hours using the following command.
crontab -e
Restart Docker feed every 2 hours everyday.
0 */2 * * * docker restart feed
0 */2 * * * cd steemfeed-js && docker run -itd --rm --name feed steemfeed-js
To force Price Feed update:
docker rm -f feed
cd steemfeed-js
docker run -itd --rm --name feed steemfeed-js
docker logs feed
Some useful commands and websites to remember.
docker logs witness | grep yehey
https://steem.bitcoiner.me/schedule/?c=show200,includetop20
+++++++++++++++++++++++++++++++++++
For maintenance:Disable the signing key first to avoid missing blocks. As recommended by @drakos check the timing, if u're low in the rank and now scheduled soon, u can do your maintenance and not lose your turn.update_witness “yehey” “https://steemit.com/witness-category/@yehey/My-Witness-Campaign” “STM1111111111111111111111111111111114T1Anm” {“account_creation_fee”:”0.200 STEEM”,”maximum_block_size”:65536,”sbd_interest_rate”:0} true
Press CTRL + d, to exit
./run.sh stop
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} true
Press CTRL + d, to exit
./run.sh start - to begin running steemd replay again.
If "docker feed logs" not working. Here's how to troubleshoot.$ docker ps -aCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
76f821043793 steemfeed-js "npm start" About a minute ago Up About a minute feed
12506a870ff7 steem "steemd --replay" 2 days ago Up 2 days 2001/tcp, 5000/tcp, 8090/tcp witnessYou should see two cointainer ID, for feed and witness. If the feed is not available running. Do the following.
Note: steemd.steemit.com has retired since Jan 6, 2018. Edit app.js file, change it using steemd.privex.io. or update the config.json file with the following entries.
- docker rm -f feed
- cd steemfeed-js
- docker run -itd --rm --name feed steemfeed-js // to re-run steemfeed-js
- docker logs feed // to run price feed.
{ "node": "wss://steemd.privex.io/", // Added Jan 8, 2018 to point to new server. "name": "yehey", "wif": "5KUKG...ACTIVE_PRIVATE_KEY", "interval": 60 }Then, re-run the previous 4 steps.+++++++++++++++++++++++++++++++++++
20171020 Install Conductor a Steem Witness Toolkit
$ steempy addkey
when prompted, paste your active key with shift-insert
Then use "steempy listkeys" to make sure it's added, also "steempy listsaccounts"
$ steempy listkeys
$ steempy set nodes https://steemd.steemit.com,https://steemd.privex.io,https://gtg.steem.house:8090
$ conductor init
What is your witness account name?: yehey
Imported a witness yehey from its existing settings.$ conductor feed
Fri Oct 20 16:52:28 2017
Old Price: 1.019
New Price: 1.002
Current STEEM price: 1.002 USD
Current SBD price: 0.942 USD
Quote: 1.000 STEEM
Spread between prices: 1.697%steempy wallet is in .local/share/steem/steem.sqlite
+++++++++++++++++++++++++++++++++++
Some references I've used to build my Witness node and Seed node.
+++++++++++++++++++++++++++++++++++
- List of Steem Nodes - http://steemistry.com/nodes/ and alternative sites https://www.steem.center/index.php?title=Public_Websocket_Servers
- Conductor - is a user friendly, KISS utility for creating, updating and management of your witness.
- @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
- Witness Schedule's https://steem.bitcoiner.me/schedule/?c=show200
Useful Tools
https://yehey.org just another STEEM blockchain website (condenser) by @yehey (at your service) https://steemd.com/@yehey by @roadscape https://steemdb.com/@yehey by @jesta (currently down, DB migration in progress) https://steemian.info/witnesses by @drakos https://steemnow.com/@yehey by penguinpablo I will continue to update page. Let me know if you have something to share, or simply use the form below to post.
Source: https://que.com/howto-setup-witness-node-by-yehey/FYI. All our network of websites are managed in-house, no third party consultant. This includes our Witness Servers, Condensers (https://Yehey.org) promoting STEEM blockchain, bot @Shares and other projects to follow. If you like what I do, please support me as your Witness.
Vote YEHEY as your Witness or Set Proxy.
Go to https://steemit.com/~witnesses URL address then scroll down to Vote.
Please follow me @Yehey, Vote Up and Resteem
Thank you,
@Yehey
i follow all the steps but stuck at this point Please help me out from this step. Please guide where i do the mistake
Sorry I can't read your captured screen.
What step no. are you stuck?
I'm assuming you have the right specs for your server e.g.
32GB RAM minimum
200GB SSD disk
Ubuntu 16.x version
Join us at https://SteemChat.com for faster answer.
error comes on
Step 06. Run the wallet.
./run.sh remote_wallet
You have collected your daily Power Up! This post received an upvote worth of 0.29$.
Learn how to Power Up Smart here!
You have collected your daily Power Up! This post received an upvote worth of 0.31$.
Learn how to Power Up Smart here!
This guide worked perfectly for me
Thank you @Yehey
https://steemit.com/witness/@libertyranger/working-on-my-first-steemit-witness-server
So please be sure to vote for @libertyranger for witness
https://steemit.com/~witnesses
Excellent. Glad it works.
I also updated the guide with Step 16 for checking witness setup.
Step 16. What to review to make sure your Witness server is configured correctly?
In Step 07 you will run suggest_brain_key to produce keys for your witness server, a private and public.
You will use the private key for your config.ini file in Step 09.
You will use the public key to broadcast your intent as a Witness in Step 13.
To verify, go to https://steemd.com/@yehey (replace @yehey with your witness name), scroll down ’till you see your Authorities Signing Keys. You should see your public key here. If not, go back and review the step by step procedures.
When it’s done, go to https://steemian.info/witnesses website and find your Witness Name. See captured image below.
Up to date guide here https://que.com/howto-setup-witness-node-by-yehey/
You're my Witness supporter since I began witnessing. You got my vote.
Cheers,
@yehey
I'm in. I am now officially a witness
You got a 0.68% upvote from @upme requested by: @yehey.
Send at least 2.5 SBD to @upme with a post link in the memo field to receive upvote next round.
To support our activity, please vote for my master @suggeelson, as a STEEM Witness
Informative