Hive Witness Setup Guide : HIAB Version 1.27.4 [ SELF HOSTED VERSION ]

in #witnesslast year (edited)

witness1.png

Hello Hivers!

If you did not see my last post i recently started self hosting a witness node at home and have had a bunch of questions around what I used, specs, and other stuff. I really think more would do this if they knew it was pretty simple to do but does take some basic knowledge of Linux & a bit of spare time.

First of I want to thank the community members that have taken tons of time to put resources out there and there are some similar posts that are out there. I am doing another one that I can maintain and help get something recent out.

Thank you to these great people for answering questions and making great guides & software:
@someguy123 @rishi556 @hivetrending @deathwing @acidyo


If you want to support the upkeep of this post please consider voting for my witness node:
https://vote.hive.uno/@crypt0gnome


the gEar


My setup is pretty simple, I am using an old gaming PC and it is connected to a UPS so that if there is a power/internet failure it has some time to write to the disk and prevent disk write errors. I am also running a 1GB connection but I would think a stable connection with around 200-400MB is probably fine to handle this and all your other network traffic in the house.

coRe hArdwAre sPecs:

You could use any other motherboard, case, power supply, and on board graphics as they are not needed to run this.

soFtwAre
I am going to suggest running the latest version of Ubuntu Server LTS 22.04 LTS this will make sure you are compatible with the packages and the current version of HIAB.
https://ubuntu.com/download/server

After the setup is complete do a quick update to make sure linux is up to date:

sudo apt-get update -y
sudo apt-get upgrade -y
sudo apt-get install git -y
sudo apt-get install screen -y


settiNg uP HIAB

Clone the repo here: https://github.com/someguy123/hive-docker

git clone https://github.com/someguy123/hive-docker.git

Install docker

cd hive-docker
./run.sh install_docker

grab the latest version of the witness docker image

./run.sh install

time to start the node

./run.sh start

Creating Witness Keys

While it is possible to reuse existing keys, it is strongly advised to create new ones specifically for signing blocks. To accomplish this, we utilize the cli_wallet tool.

./run.sh wallet

Please use the set_password method to initialize a new wallet before continuing it will give you a prompt like this type the following after: new >>>

new >> set_password passwordhere

To set your password, use the command "set_password" followed by your desired password. Make sure to remember this password as it will be required to unlock the wallet later on. After setting the password, you can proceed to unlock your wallet. To unlock, simply enter "unlock" followed by the password you set, like this:

unlock passwordhere

Once your wallet is unlocked, you can utilize the command "suggest_brain_key" to generate a public-private keypair. It is crucial to save this keypair as you will need it in the future.

Now you are ready to config, hit CTRL-Dto back back out to the terminal prompt.


Witness Config

set the shared memory size

./run.sh shm_size 32G

edit the config

nano data/witness_node_data_dir/config.ini


image.png

Update the fields in the image using the Hive account you would like to be a witness and the private key from the Brain wif_priv_key we created earlier.

witness = yourhivenamehere
private-key = brainwalletprivatekey

SYNC & WAIT

this part can take some time 24-48 hours and will require you to check in from time to time, your node should already be running sense we started it earlier but there are two commands in linux you will use often to check on it.

Untitled.png

to check/watch node in Realtime

./run.sh logs

if the node is no longer syncing you can check the monitor by using this command

./run.sh monitor

you can also stop/start the node if needed

./run.sh stop
./run.sh start


Enable Witness Broadcast

image.png

Once you see the blocks going up one at a time like above that means you are fully synced and can enable as a witness.

Open the wallet

./run.sh wallet

Unlock the wallet using the password you created earlier

unlock walletpasswordhere

Time to import your PRIVATE ACTIVE KEY , this should be the key for your witness account name used in the config. You can grab this from Hive Keychain if you have it saved there.

import_key 5KNrHHigj3PRurkm5moaV1XM3gWGrDZJJZCgPRL2FpBLjWy1obg

You will then want to edit this snippet below to the settings you wish to use for the node and so it can be broadcast on chain.

update_witness "usernamehere" "https://yoursiteofchoice.com" "STM1111111111111111111111111111111114T1Anm" {"account_creation_fee":"3.000 HIVE","maximum_block_size":65536,"hbd_interest_rate":2000} true

STM1111111111111111111111111111111114T1Anm should be the public key generated for your private signing key when we first logged into the wallet above

Give yourself a pat on the back if this all went well you should be up and running as a witness, it could take a bit of time but you should shortly after show up on one of these lists:
https://peakd.com/me/witnesses
https://hivehub.dev/witnesses

image.png

you version will say 0.0.0 until you have found your first block, now get out there and make your first witness post and get some votes!

EXTRAS

image.png

You can update the witness description easily using Peaked Profile editor to get a nice look on the witness lists!



If you want to support the upkeep of this post please consider voting for my witness node:
https://vote.hive.uno/@crypt0gnome

Sort:  

PIZZA!
The Hive.Pizza team manually curated this post.

$PIZZA slices delivered:
@roninrelax(4/5) tipped @crypt0gnome

You can now send $PIZZA tips in Discord via tip.cc!

Congratulations @crypt0gnome! You have completed the following achievement on the Hive blockchain And have been rewarded with New badge(s)

You distributed more than 35000 upvotes.
Your next target is to reach 36000 upvotes.
You made more than 50 comments.
Your next target is to reach 100 comments.

You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

To support your work, I also upvoted your post!

Check out our last posts:

LEO Power Up Day - July 15, 2023

Yay! 🤗
Your content has been boosted with Ecency Points, by @crypt0gnome.
Use Ecency daily to boost your growth on platform!

Support Ecency
Vote for new Proposal
Delegate HP and earn more

I'll bookmark this post :)
!PIZZA


Congratulations @crypt0gnome!
You raised your level and are now an Orca!

Check out our last posts:

LEO Power Up Day - July 15, 2023

Wow this is so impressive, even though I am still trying to figure out what being a witness entails.

Nice setup mate 😃

Awesome!!! I’ve wondered about this for a while :)

Thanks for sharing this information and great work not only on Hive witness but also on Terracore.
I have 1 vote from me, even it's not very high HP, however it shows my appreciation to all of your hard works.
Keep it up! 😁

Very cool! What level of Linux basics do you think a technically-savvy but non dev person would need to have in order to run a node with some confidence?

Also, please tell me that’s a fake Private Active Key you have pasted into the example?? 😅

Very basic, everything can be googled and learned along the way, if you follow the directions its pretty to the point unless you run into issues.

Of course its a fake private key 😜

Nice! Good to know.

Of course its a fake private key 😜

I figured! 😁 Thought I'd check anyway juusssttt in case lol

pristine setup!