How to Setup STEEM Seed Node

This how to procedure is for setting up a Seed Node ( There are many different ways to complete this task but this one works for me.

Related: How to setup a Witness Node by Yehey

Server requirements. You need to have a minimum server requirements to run your Witness node otherwise it won’t work.

  • 20GB RAM minimum, 32GB RAM is highly recommended. As of writing this article the current memory usage is at 15.1GB.
  • 100GB SSD hard disk minimum, the block log file is around 38GB file size.
  • Fast Internet connection, with the above setup I was able to complete setup within 10-12 hours up and running.
  • Tested using Ubuntu 16.04.3 LTS for operating system.

Please note. If you go beyond 24 hours to setup your node server, you need to check your hardware and your internet bandwidth speed. The STEEM blockchain needs a faster servers to process blocks.

Let’s begin setting up a new server.

When I setup a Server or a workstation. I always set the date and time correct, so I can get a good event logs later on for trouble shooting.

Set your timezone, for me it’s EST (optional)
sudo timedatectl set-timezone America/New_York

Install all dependencies.

sudo apt update

sudo apt install git curl wget

Download Steem in the box courtesy by @someguy123 using git clone.

git clone

THIS IS IMPORTANT. Logout, re-login, then change directory to steem-docker.

cd steem-docker

Let’s install docker.

./ install_docker

You will see something like this captured screen.

Pre-compile Steem.

./ install

Download a copy of blocks. This will take a couple of hours or shorter depending on your server specifications.

./ dlblocks



Adjust your Witness server memory. MUST re-adjust if server upgrade it’s memory. DO NOT GIVE MORE SHARED MEMORY THAN YOU HAVE ACTUAL RAM AVAILABLE. e.g. In our server specification example, we are using 32GB RAM only use 30G for your shared memory.

sudo ./ shm_size 30G

Edit the config.ini file.

nano data/witness_node_data_dir/config.ini

Some data in config.ini file. THIS IS VERY IMPORTANT!

p2p-endpoint =
shared-file-size = 30G
shared-file-dir = /shm
enabled-plugin = witness

You don’t need to add your witness and private-key for the seed node.

To disable port forwarding for seeds:

nano .env

On a blank line, put the following:

./ replay

Check the logs, every 10 minutes. Use this command to see the current logs.

./ logs

You will see something like this results.

and this is the normal logs results.

The SEED Node server is synced and ready to serve the STEEM blockchain.

Next is secure the server. I have a network firewall up and running, this is to secure my network perimeter. To add another layer of security. I will enable “ufw” Uncomplicated Firewall in my host server allowing only the services or ports allowed. In this case, only allowing port 22 and 2001. Actually, only port 2001 is open to the public while port 22 is only accessible within my internal network.

sudo ufw enable // enable the uncomplicated firewall

and allow ports 22 for SSH and 2001 for seed port.

sudo ufw allow 22 // for remote management of server.

sudo ufw allow 2001 // assign port for seed node.

That’s all I need for my firewall.

To see the status of ufw, run this command.

sudo ufw status

The security of server doesn’t stop in Firewall management, we make sure the server is always up to date.

To keep the server up to date, follow this procedure

That’s all. Keep your server and network secure.


References I’ve used to build my Witness node.

Image by nidan pixabay

Support @QUE.COM

Founder, QUE.COM Internet Media. | Founder, a Shout for Joy! | MAJ.COM Management of Assets and Joint Ventures. More at KING.NET Ideas to Life.

Leave a Reply

AI Chatbot Avatar