HOWTO Setup a Witness Node for Yehey! Part-1
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.
To save me from typing "sudo" run the command.
yehey-witness-node:~$ sudo bashNow, 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-jinja2And 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 \ perlOr 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/steemcd steem
yehey-witness-node:~/steem# git checkout v0.19.2
then ...
yehey-witness-node:~/steem# git submodule update --init --recursivemkdir 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/buildNext run.
yehey-witness-node:~/steem/build# make -j$(nproc) steemdIf 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.
and run ...
yehey-witness-node:~/steem# make -j$(nproc) cli_wallet
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 installMake 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
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.iniun-comment
rpc-endpoint = 0.0.0.0:8090press 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/blockchainDelete the block_log file before downloading a copy.
rm -rf witness_node_data_dir/blockchian/block_logthen 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.
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!!!