How to set up Steem Witness (HF 23)
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 \
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.