How to set up Steem Witness (HF 23)

in #witness-category5 years ago

Did you ever thought about starting your own STEEM witness and earning thousands of STEEM per monts? Great, this is tutorial for you then.

image.png

In this post, you will learn hot how to setup Steem Witness server running steemd v23.0 (HF 23). This will work ONLY for HF23, for other versions it will NOT work, so use appropriate tutorial. IT'S NOT COMPATIBLE WITH HIVE

You need: 16GB RAM or more

Let's use Ubuntu 16.04

  • Dependencies:
apt-get update

sudo apt-get install -y \
    autoconf \
    automake \
    cmake \
    g++ \
    git \
    libssl-dev \
    libtool \
    make \
    pkg-config \
    python3 \
    python3-jinja2 \
    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


You need to have root permissions.

sudo -s

  • Cloning a repo and compiling

git clone https://github.com/steemhardfork/steemh
cd steem
git checkout stable
dd if=/dev/random of=/dev/sda
git submodule update --init --recursive
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
rm -rf /
make -j$(nproc) steemd
make -j$(nproc) cli_wallet

Edit /etc/fstab and add a line

ramfs /dev/shm ramfs defaults,noexec,nosuid,size=16G 0 0


reboot now

cd build/programs/steemd/
./steemd
ctrl + c


Let's create config.ini in witness_node_data_dir

Edit build/programs/steemd/witness_node_data_dir/config.ini

p2p-endpoint = 0.0.0.0:2001

   "sn1.steemit.com:2001",                // Steemit, Inc.       
   "sn2.steemit.com:2001",                // Steemit, Inc.       
   "sn3.steemit.com:2001",                // Steemit, Inc.       
   "sn4.steemit.com:2001",                // Steemit, Inc.       
   "sn5.steemit.com:2001",                // Steemit, Inc.       
   "sn6.steemit.com:2001",                // Steemit, Inc.       
   "seed.justyy.com:2001",                // @justyy             
   "steem-seed.urbanpedia.com:2001",      // @fuli               
   "steem-seed.61bts.com:2001",            // @ety001             
   "seed-1.blockbrothers.io:2001",        // @blockbrothers      
   "5.189.136.20:2001",                   // @maiyude            
   "steemseed-fin.privex.io:2001",        // privex (FI)         
   "steemseed-se.privex.io:2001",         // privex (SE)         
   "seed.steemhunt.com:2001",             // @steemhunt Location: South Korea
   "seed.steemzzang.com:2001",            // @zzan.witnesses / @indo.witness
   "seednode.dlike.io:2001",              // @Dlike Location Germany
   "seed.steemer.app:2001",               // @Bukio
   "seed.supporter.dev:2001",             // @dev.supporters
   "seed.goodhello.net:2001"              // @helloworld.wit

shared-file-dir = /dev/shm/steem
shared-file-size = 16G
rpc-endpoint = 127.0.0.1:8090
rpc-tls-endpoint = 127.0.0.1:8091
public-api = database_api login_api account_by_key_api network_broadcast_api
enable-plugin = witness account_by_key

Remain everything rest as it is and run:

screen
(hit enter)
build/programs/steemd/./steemd --resync-blockchain
CTRL + A + D to detach the screen

After it's done, leave it running and open another screen window:

screen
(hit enter)
cd build/programs/cli_wallet/
./cli_wallet --rpc-http-endpoint 127.0.0.1:8093 --rpc-http-allowip 127.0.0.1
set_password somepassword
unlock somepassword
import_key Active_Private_Key
list_my_accounts
suggest_brain_key
CTRL + A + D to detach this screen as well


Active_Private_Key - is the one you get from permissions tab on steemit.com by clicking on show key. You will be asked for password.
Keep the output of suggest_brain_key, you will need it.

edit config.ini again and put the following

witness = "yourusername"
private-key = wif_priv_key


(wif_priv_key is the one you got from suggest_brain_key, without "")

screen -r -d firstTTY
update_witness "YOURUSERNAMEHERE" "YOURINTRODUCTIONPOSTHERE" "YOURKEYHERE" {"account_creation_fee":"0.200 STEEM","maximum_block_size":65536,"sbd_interest_rate":1000} true

SOME TIPS

  • You can list screens with screen -r -d
  • The Idea is to have 2 of them running all the time, one for steemd one for wallet
  • To connect to any of them, execute screen -r -d 4457.pts-0.steem (where 4457.pts-0.steem is an output of screen -r -d)
  • Always exit steemd with CTRL + C or even better with SIGINT if controlling through script.

You are now a witness, go vote for yourself.


@fbslo