HOWTO Setup a Witness Node for Yehey! Part-1

in #witness-category7 years ago

Disclaimer: Continue to read this article if you plan to be a STEEM Witness, otherwise this is a boring article to read but if you are a nerd like me with entrepreneurship in mind believe me it's worth your time.

First, buy or rent a server. It's your decision which one best for you, because that's involve money. Most Witness started with 4GB RAM with 60GB SSD hard disk and other stuff. The faster CPU and more RAM is highly recommended though it will cost you some $$$$ to drain. So my suggestion is to start small and affordable, then scale up when it's needed and enjoy being a witness.


Image by krnel

To save me from typing "sudo" run the command.

yehey-witness-node:~$ sudo bash
Now, Let's start preparing the server. This procedure is tested using Ubuntu version 16.04. I tried the latest version 17.0 but no success, not able to finish compiling using this command "make -j$(nproc) steemd". Let me repeat it again, use Ubuntu 16.04 release.
yehey-witness-node:~$ apt-get update [enter]
Next run this command.
apt-get install -y \ autoconf \ automake \ cmake \ g++ \ git \ libssl-dev \ libtool \ make \ pkg-config \ python3 \ python3-jinja2
And this. # Boost packages (also required)
apt-get install -y \ libboost-chrono-dev \ libboost-context-dev \ libboost-coroutine-dev \ libboost-date-time-dev \ libboost-filesystem-dev \ libboost-iostreams-dev \ libboost-locale-dev \ libboost-program-options-dev \ libboost-serialization-dev \ libboost-signals-dev \ libboost-system-dev \ libboost-test-dev \ libboost-thread-dev
# Optional packages (not required, but will make a nicer experience)
apt-get install -y \ doxygen \ libncurses5-dev \ libreadline-dev \ perl
Or simply put them all together in a single command.
sudo apt-get install -y \ autoconf \ automake \ cmake \ g++ \ git \ libssl-dev \ libtool \ make \ pkg-config \ screen \ libboost-chrono-dev \ libboost-context-dev \ libboost-coroutine-dev \ libboost-date-time-dev \ libboost-filesystem-dev \ libboost-iostreams-dev \ libboost-locale-dev \ libboost-program-options-dev \ libboost-serialization-dev \ libboost-signals-dev \ libboost-system-dev \ libboost-test-dev \ libboost-thread-dev \ doxygen \ libncurses5-dev \ libreadline-dev \ perl

Getting excited huh! Let's download STEEM copy to our server.

yehey-witness-node:~/# git clone https://github.com/steemit/steem
cd steem
yehey-witness-node:~/steem# git checkout v0.19.2
YEHEY.com.Steem.Witness

then ...

yehey-witness-node:~/steem# git submodule update --init --recursive
mkdir build cd build
yehey-witness-node:~/steem/build# cmake -DLOW_MEMORY_NODE=ON -DCMAKE_BUILD_TYPE=Release ..
after the install you will see something like this result.
-- CONFIGURED FOR STEEM NETWORK -- CONFIGURED FOR FULL NODE -- Configuring done -- Generating done -- Build files have been written to: /home/[your_computer_name]/steem/build
Next run.
yehey-witness-node:~/steem/build# make -j$(nproc) steemd
If everything runs correctly, this will take a while ... from 0% ... to 100% of course. If the installation fails, re-check the installation step-by-step above.

It will take 10-20 minutes to complete, or faster.

When it's complete, it will be look like as shown below.

YEHEY.com.Steem.Witness.make.steemd.PNG

and run ...

yehey-witness-node:~/steem# make -j$(nproc) cli_wallet
YEHEY.com.Steem.Witness.make.cli_wallet.PNG

This one should be quick, 5 minutes to compile, when it's done execute make install # defaults to /usr/local.

yehey-witness-node:~/steem# make install
Make install will take another 5 minutes.

cd programs/steemd

I run steemd to create my initial config.ini file.

yehey-witness-node:~/steem/build/programs/steemd# steemd
YEHEY.com.Steem.Witness.run.steemd.PNG

The new STEEM Network client is born ... Yehey!

Kill it with ctrl+c, this create the config.ini file, for us to update.

You can type "ls -al" and you will see a new folder "witness_node_data_dir" where it contain the "config.ini" file that we need to edit.

yehey-witness-node:~/steem/build/programs/steemd# nano witness_node_data_dir/config.ini
un-comment
rpc-endpoint = 0.0.0.0:8090
press CTRL + 0 to save, CTRL + x to exit.

Download existing blocks (currently 36.2GB) as of October 10, 2017. Change directory to witness_node_data_dir/blockchain

cd witness_node_data_dir/blockchain
Delete the block_log file before downloading a copy.
rm -rf witness_node_data_dir/blockchian/block_log
then run wget using gtg.steem.house block log. You can use other seed node, i think.
yehey-witness-node::~/steem/build/programs/steemd/witness_node_data_dir/blockchain# wget https://gtg.steem.house/get/blockchain/block_log

The download will take some time because of the file size ... take a break while the download is in progress.

Follow up with Part 2... after the download.
More update at https://que.com to follow.

If you think I'm missing something to this procedure, please let me know.
Wish me luck!

And yes, I'am building my Witness Node and Seed Note to serve you all minnows!

Follow me @Yehey. Please Vote Up and RESTEEM.
Thank you

https://steemit.com/colorchallenge/@yehey/color-challenge-friday-blue-in-the-water
https://steemit.com/teamusa/@yehey/3-billions-yahoo-accounts-got-hacked-in-2013
https://steemit.com/robots/@yehey/facial-recognition-robot

Some references I've used to build my Witness node and Seed node.

Sort:  

I don't but I upvoted to help raise visibility for those that do.

Finally a geek one . I can use this as an initial knowledge on creating my own witness node. Good luck to you yehey. Good luck to me also. See you around.

i will always support you man!!!

Coin Marketplace

STEEM 0.21
TRX 0.25
JST 0.038
BTC 98069.15
ETH 3438.73
USDT 1.00
SBD 3.11