Hi, I’m @fbslo and this is my first post on Trybe. I’m blogging on Steem platform for over 1.5 years and I’m also Steem witness for almost 1 year.  What is Steem witness?

Here is Steemit FAQ explanation: The Steem blockchain requires a set of people to create blocks and uses a consensus mechanism called delegated proof of stake, or DPOS. The community elects ‘witnesses’ to act as the network’s block producers and governance body. There are 20 full-time witnesses, producing a block every 63-second round. A 21st position is shared by the backup witnesses, who are scheduled proportionally to the amount of stake-weighted community approval they have. Witnesses are compensated with Steem Power for each block they create.”

There are more ways to set up server and there is one easy way. It’s docker image made by @someguy123 on Steem (https://github.com/Someguy123/steem-docker).

What do you need?

  • You need reliable server with at least 64 GB RAM, at least 100 GB  disc and fast network. I use server from Hetzner.
  •   Ubuntu 16.04

You need to install some basic dependencies first.This will update your system:

sudo apt update

sudo apt install git curl wget

Than install Htop. This is optional, but it is useful for monitoring RAM usage.

sudo apt-get install htop

After this, you need to download Steem-in-a-box from Github.

git clone https://github.com/Someguy123/steem-docker.git

And move to steem-docker directory.

cd steem-docker

When you are in steem-docker directory, install docker. (If you are not logged in as root, you need to log out and back in again after installing docker)

./run.sh install_docker

Than:

./run.sh install

Now you need to download blocks from @gtg’s server. It will speed up your replay time.

./run.sh dlblocks

Open cli_wallet.

./run.sh remote_wallet

And create public and private key for your witness.

suggest_brain_key

This will look like:

If you get an error, close wallet (CRTL+D) and try again.

When you have pair of keys, save them, you will need them!

Close wallet – CTRL+D

You need to choose how much “Shared memory” you want to use. If you have 64 GB RAM server use few GB less (I use 60 GB). DO NOT CHOSE MORE RAM THAT YOU HAVE. If you have 64 GB server, do not chose 128 GB!!!

You need to chose more than 47 GB RAM (January, 2019).

sudo ./run.sh shm_size 60G

Replace 60 with chosen amount.

Now open config.ini file in text editor, I’m using nano.

nano data/witness_node_data_dir/config.ini

You should see something like this:

Now change:

p2p-endpoint = 0.0.0.0:2001 to #p2p-endpoint = 0.0.0.0:2001 (Add #)

shared-file-size = 60G Change amount of Shared memory (If you chose 59 G before, change to 59)

witness = “fbslo” Change username. Don’t forget to remove # (It is #witness = by default)

private-key = Put you private key generated by suggest_brain_key here. Name needs quotes, private key don’t need quotes. (e.g. private-key = 5Jp…)

Save by CTRL+X and then Y.

Then you need to disable ports forwarding for seeds.

nano .env

File will be blank. Enter following:

PORTS=

DOCKER_NAME=witness

Save by CTRL+X and then Y.

You can start server now

./run.sh replay

This will replay all blocks downloaded before.

You can check logs:

./run.sh logs

If you don’t get red error messages, leave it running. If you get error messages, ask for help in WITNESS channel on Steem.chat

When you get logs like this

application.cpp:514 handle_block ] Got 59 transactions on block 22014958 by pharesim — latency: -449 ms

your witness is synced. This can take up to day or two if you have slow HDD.

But you are not done yet. Open cli_wallet:

./run.sh wallet

Set password for cli_wallet:

set_password thisismypassword

Unlock wallet:

unlock thisismypassword

And import active key from steemit:

import_key 5xxxxxxxxxxxxxxx

(You can get active key on steemit: Wallet -> Permissions -> Active Key -> Login to show -> you need to login -> Show private key. It begins with 5.)

Now you need to create witness on the network:

update_witness “ACCOUNT” “https://steemit.com/witness-category/@account/my-witness-thread” “STMxxxxxxx” {“account_creation_fee”:”0.100 STEEM”,”maximum_block_size”:65536,”sbd_interest_rate”:0} true

Replace “ACCOUNT” with your account name (e.g. “fbslo”) It need quotes.

Replace “https://steemit.com/witness-category/@account/my-witness-thread” with link to your witness post. It need quotes.

Replace “STMxxxxxxx” with PUBLIC key from suggest_brain_key.

You are witness now πŸ™‚

But as witness, you need to run a price feed.

I’m using price feed by @yabapmatt.

You need npm and nodejs (if you alredy have npm and nodejs installed you can skip this).

curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash –

sudo apt-get install -y nodejs

Now download it form github and install it.

git clone https://github.com/MattyIce/pricefeed.git pricefeed

cd pricefeed

npm install

Now update config.json file in text editor (I use nano).

nano config.json

Enter account name, active key, interval and exchanges.

Run price feed background with PM2.

sudo npm install pm2 -g

pm2 start feed.js

pm2 logs feed

Monitor your RAM usage by Htop:

htop

You are witness now. It can take days or weeks to get first block. Try to get as much  votes as possible.

And If you have Steem account, don’t forget to vote @fbslo for witness πŸ™‚

I hope you learned something new in this post πŸ™‚


Your Remaining Votes (within 24hrs) : 10 of 10
6 votes, average: 5.00 out of 56 votes, average: 5.00 out of 56 votes, average: 5.00 out of 56 votes, average: 5.00 out of 56 votes, average: 5.00 out of 5 (6 votes, average: 5.00 out of 5)
You need to be a registered member to rate this.
(1000 total tokens earned)
Loading...

Responses

  1. AD

    Welcome to Trybe, mate.
    I’m AD, nice to meet you.
    Nice share. Unfortunately I got locked out of Steemit when I changed my computer. If there was a way of getting back in…I might have gone back. Good luck on the witness challenge!

    (0)
  2. James Diegel

    Thats really detailed and really useful (I think). One of these days I really want to get into more of the tech side of crypto – and setting up a server is for sure on the list. Kinda daunting to read that message – but I said that about setting up my first crypto wallet too πŸ™‚

    (0)
  3. MineYourMind

    I think Steemit is dead in the water…The platform has turned into a Facebook Alternative where selfies and crappy food picks are becoming the norm.

    I used it for a few months and once I saw how everything worked, I was unimpressed and that it’s an awful clone of everything wrong with American Governance where an Oligarchy rules, which does not support freedom.

    I won’t be back…

    (0)