Smoke Network Witness Setup - Step By Step

10 months ago


I have been asked a couple of times, about setting up a server, the more the better the network runs.

Note 1: Requires running Ubuntu 16.04.4 LTS (Xenial Xerus)

Note 2: This document will use $ as the command prompt indicator and user for your username. Please use your correct username in place of user.

Note 3: Some single line commands are quite long and wrap in this document. Make sure they are entered into the terminal window as a single line command. You may need to copy to a local editor first.

Witness server install

1 - Open a terminal window and remotely log into your server. Navigate to your home directory.

cd /home/ user

2 - Create a directory called smoke.

mkdir smoke

3 - Change to the smoke directory.

cd smoke

4 - Get updates.

apt-get update

5- Install Updates
apt-get upgrade

6 - Install packages

apt-get -y install wget nano screen jq

7 - Download files. Check for the latest versions here


8 - Uncompress files.

tar -xzf smoked-0.0.5-x86_64-linux.tar.gz
tar -xzf cli_wallet-0.0.5-x86_64-linux.tar.gz

9 - Remove compressed files.

rm *.gz

10 - Run Smoked to generate a config.ini file and then shut down node.



11 - Update config.ini with seed nodes.

nano /home/ user/ smoke/witness_node_data_dir/config.ini

12 - Find #seed-node = and replace with:

seed-node =
seed-node =

13 - Find #rpc endpoint = , remove # and enter the value:

14 - Create a detachable session and start the witness.

screen -S smoked
cd /home/user/smoke

15 - Detach session but leave witness running by pressing control-A-D (mac) or Ctrl-A-D (windows).

Client wallet configuration

1 - Create a detachable session for wallet.

screen -S wallet

2 - Navigate to smoke directory.

cd /home/ user /smoke

3 - Start the wallet.

./cli_wallet --server-rpc-endpoint="ws://"

4 - Set wallet password. Use a unique secure password. SAVE THESE IN A SAFE PLACE!

new >>> set_password "secure_password"

5 - Unlock the wallet.

locked >>> unlock secure_password

6 - Get your keys. Note: You will need your account name & password. All inputs in quotes.

unlocked >>> get_private_key_from_password "account name" "active" "original_key"

7 - This will return 2 keys. The 1st is your Public Active Key and the 2nd is your Private Active Key.

8 - Import Private Active Key. The ‘ private_active_key ’ is the 2nd key received from the previous step. No quotes!

unlock >>> import_key private_active_key

9 - Get brain keys1. (optional step but recommended)

unlock >>> suggest_brain_key

10 - This will generate 3 keys. SAVE THESE IN A SAFE PLACE!

11 - Import ‘wif_priv_key’ into the wallet. No quotes!

unlock >>> import_key wif_priv_key

12 - Detach session but leave wallet running by pressing control-A-D (mac) or Ctrl-A-D (windows).

13 - Update config.ini with ‘wif_priv_key’.

nano /home/ user/ smoke/witness_node_data_dir/config.ini

14 - Locate the ‘#witness =’ line

Uncomment the line by removing the ‘#’ at the beginning. - Add account name in quotes.
witness = " account_name"

15 - Locate the ‘#private-key =’ line

Uncomment the line by removing the ‘#’ at the beginning.
Add the ‘wif_priv_key’ or if you did not create brain key you will use the ‘private_active_key’ that was previously imported into the cli_wallet. No quotes!
private-key = wif_priv_key

16 - Save updates and exit by pressing Control-X (mac) or Ctrl-X (windows), then Y, then return (mac) or Enter (windows).

17 - Switch to witness session to invoke updates.

screen -r smoked

18 - Stop witness by pressing control-c (mac) or Ctrl-C (windows).

19 - Restart witness to pick up changes.


20 - Detach session but leave witness running by pressing control-A-D (mac) or Ctrl-A-D (windows).

21 - Switch to wallet session for witness update.

screen -r wallet

22 - Send update for witness, all inputs in quotes. The ‘ witness_url’ will be used for the link in the witness voting list. It can be left blank, but the url of your witness testimonial is often used. The ‘ pub_key’ is from the brain keys you saved in a safe place earlier or if you did not create brain keys you will use the Public Active Key returned in step 6 .

unlock >>> update_witness " account_name" " witness_url" " pub_key" {} true

Go to and vote for yourself as a witness.

Make an announcement post and engage the community for voting support to make it into the top 21.

If you need to shutdown your witness update with the null key SMK1111111111111111111111111111111114T1Anm before shutting down to avoid missing blocks.

Keep in mind this step by step can be found Here I did add a couple more steps and info to make your life easier with some of the issues I came about but with these steps you should be up and running in no time.

I would suggest you use Shell NGN Makes life so much easier. I also suggest Digial Ocean to test out first.

SmokeD - Smoke Data Explorer is also running nice and smoothly
SmokeD has everything you need in regards to Smoke blockchain.
In case you haven't read my Witness Application/Intro
New Project (1).png
Find me on Discord, Lets explorer this frontier together!!

I am the Robot looking guy.

Smoke Official Discord

✅ Every Single Vote Counts!

Please take a minute to jump over to the Block Producer / Witness page and cast your votes. Simply click on the (^) up arrow next to my username "chronocrypto" and supply your private account or active key to lock in your vote.

Get 4.2 Free Smoke Power On Sign Up To Start Your Journey On Smoke! The First Cannabis Community That Pays You To Post And Curate Content You Love..
Sort Order:  Trending

Ok so here's my real question with all of this.. lol.

Are there minimum specs to run a witness node?
If so, what are they?

Can I run the node off of my 2nd desktop at home? That's what I ultimately would like to do. It has Windows 8.1.

If that's not an option, or not viable; How would I go about setting up/accessing a server and how much would that run me, roughly?

Sorry for all the questions, I don't mean to be a bug haha, just still new to the technical side of things and I've never used Ubuntu, Linux, Virtual Machines or any online hosted servers. :P

Thank you so much for putting this up! I must've missed the information when running through all the whitepaper and doc info and such.


good questions man. was gonna ask about that myself cuz i got a few towers laying around


Definitely! Why just let them gather dust when they could be put to use? :)


Alright, so I actually signed up for digitalocean since I saw there's a bonus. I've gotten my ubuntu server set up finally and I've made progress. I'm stuck on this though.

10 - Update config.ini with seed nodes.

nano /home/ user/ smoke/witness_node_data_dir/config.ini

11 - Find #seed-node = and replace with:

seed-node =
seed-node =

I'm having issues with the console window. When I do Ctrl+Key to navigate through the console, sometimes it doesn't do those actions.

When I search for #seed-node, seed-node, seed-node =, and #seed-node =, they do not work. It says that they're not found. Any clue as to what to do? I'm proud I've gotten this far... but now I've run into some issues.


I'm stuck at this same part. Did you get it figured out?


I figured it out up until the final step of the entire tutorial. Still can't figure the last step out or why it's not updating the witness.

For this step, with the editing the file.. What I was doing wrong was copying literally, word for word, the file path that he wrote.. Instead of changing "user" to my user on my server.

Once I got it right, it looked like files I'd seen before and was easily edited. You just navigate the document with the arrow keys.

🔒 Just a note to Newbies looking to run a witness. It is very important that you secure your server from attacks. There is more to running a witness than just installing and running smoked on a generic Linux install. There have already been reports of DDOS attacks on smoke witness and you are putting the whole network in jeopardy when you run on a completely open server. I have attempted to compile steps to secure your server in the witness guide.

I have to admit.. I am witness illiterate 100%. I see all the coding and my mind goes crazy... so I am BEYOND thrilled to see so many members taking on this challenge <-- that's how it would be for me.

I may not be witness material but I am definitely a devoted and dedicated person on every platform that I blog and post to. So I see it as I am still a much needed team player, curator, comment-making person and interaction fiend.


me too! i know how you feel! i'm going to challenge myself in learning more. Just like you im excited to see people taking it on!


I find that it's almost always fun to learn something new. The more you know... Right? :)

Peace and Love.


Of course you are, I enjoy all your posts. You and everyone else contributes to the network happy to have you on board!


Thank you! Such a pleasure to be here and sharing my knowledge; and learning so much more from other growers and members.


I'm not completely illiterate to Code/OSes/etc... but man.. setting up a witness and configuring it and figuring all this stuff out has been almost completely cryptic to me.. :P

Hopefully I'll be able to resolve my issues and get things set up properly. I definitely want to be a powerful voice in the community and be able to contribute to the well-being of the blockchain. Some projects are just deserving of your full investment of time/effort and I absolutely feel that Smoke is one of those. Wholeheartedly. ;)

Peace and Love. As always!

Wow.. This is great .... Good luck in your witness journey. Tell me if they have started voting let ,me give your my vote right away .


Hey man go right ahead and get your vote on!

Thank you for your this information but i would like to read some information for newbies i am newbie here can you please help me!

you can run smoked on 18.04, but the client most definitely needed the older ubuntu


The solution is here:

It just needs libreadline6 and then you'll be good to go on 18.04

Great job on the tutorial. Might spread the word about engagement and interest more people into blockchain as well as attract others to give it a go as a witness.

I really like how this is going to, just to pass the initial low interest/spam posts, and things might run smoothly.