How to set up Steem Witness (HF 23)

in #witness-category4 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.


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 \

You need to have root permissions.

sudo -s

  • Cloning a repo and compiling

git clone
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/
ctrl + c

Let's create config.ini in witness_node_data_dir

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

p2p-endpoint =

   "",                // Steemit, Inc.       
   "",                // Steemit, Inc.       
   "",                // Steemit, Inc.       
   "",                // Steemit, Inc.       
   "",                // Steemit, Inc.       
   "",                // Steemit, Inc.       
   "",                // @justyy             
   "",      // @fuli               
   "",            // @ety001             
   "",        // @blockbrothers      
   "",                   // @maiyude            
   "",        // privex (FI)         
   "",         // privex (SE)         
   "",             // @steemhunt Location: South Korea
   "",            // @zzan.witnesses / @indo.witness
   "",              // @Dlike Location Germany
   "",               // @Bukio
   "",             // @dev.supporters
   ""              // @helloworld.wit

shared-file-dir = /dev/shm/steem
shared-file-size = 16G
rpc-endpoint =
rpc-tls-endpoint =
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:

(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:

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

Active_Private_Key - is the one you get from permissions tab on 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


  • 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.


Coin Marketplace

STEEM 0.19
TRX 0.12
JST 0.028
BTC 65342.69
ETH 3543.20
USDT 1.00
SBD 2.39