A new Hive-Engine Witness is born. {louis.witness}

avatar
Authored by @louis.witness

image.png
... ok ok the picture should make you smile a little bit ;) Thanks @rivalzzz for the graphic and that you are so excited about my first Witness Node ;)

Today, after much deliberation, I have set up a Hive Engine Witness Node. Here the tutorial of @rishi556 helped very well and explained everything very well. Within one morning the Witness Server was up and running. This is the first Witness Node I set up and I plan to set up more Witness Servers besides the Hive Engine Witness Node.

Thanks to the top Witness @primersion at Hive-Engine, there is a fresh snapshot (~29 GiB) of the blockchain data daily which I imported into the Mongo database in about 2.5 hours. Then there were still about 17800 blockchain transactions missing that needed to be synchronized. That took about another hour. Thanks to ulimit, importing and synchronizing the data was significantly faster than on my first test the night before.

The night before I started a first test, but had some errors while synchronizing and calling
node find_divergent_block.js. 😕

image.png

That meant, I had to download and import all data again. But that was not the only problem... my disc space was filled to 97% and I couldn't leave it like that and it can't work in the long run.

image.png

So the server has to be scaled up. So lets do the whole thing again the next day.... and then properly.

Server upgrade for more storage and performance

In short, this morning I decided to redo everything and scale up my server at Hetzner one level. With only 160GB it was just too tight for me to run the Witness Node long term and run the risk of running out of storage space. So I upgraded my server to the following values:

  • 8 Virtual CPU Cores
  • 240 Gigabyte SSD Storage
  • 32 Gigabyte of RAM

These are values to work with and run other Blockchain Node processes if necessary.

Final setup of the Witness Node

Now that the server has the right performance to run the Witness Node, the latest snapshot was needed. As described above, I downloaded it from Primersion and imported it directly into the Mongo database. Duration was about 2,5 hours. I also had to download the Node.js version, because I used NodeJS version 17.4.0 and the Witness does not run with it. @primersion told me that the Hive engine Witness runs fine on Node JS version 16. So I first installed nvm with the following commands and then set version 16 as default Node JS version for my instance

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
> log out and log in
nvm install 16

then set the node version 16 as default:

nvm alias default 16 and nvm use 16

Also the latest version of the Steemsmartcontract at Github I then should also use and I have changed it with the following commands:

git fetch --all --tags
git checkout tags/he_v1.7.2 -b he_v1.7.2
npm ci

This means that Witness is running on the latest version 1.7.2 and can continue to be set up.

After importing the database I started the node process running in the background to add the missing 17,000 blocks.
After about an hour the process was finished and I could start the initial start of my Witness Server with the command node witness_action.js register.

My first signed block 💪

Shortly after my Witness was up and running, I signed my first block. There was some relief that everything worked out. My first signed block: https://he.dtools.dev/b/14629267
Shortly after that I signed a second block. So, the Witness is running! Perfect!


I am very happy that the setup of the Witness Node was quite easy and I am happy to help signing the blocks for the transactions of the Hive Engine. Now I'll let it run for a few days and see how it works out. The plan is to build at least one SPS Validator Node for the game of @aggroed / @yabapmatt / @cryptomancer Splinterlands. I'm curious when there will be more detailed information. Until then, I will think about setting up a node for the Hive Blockchain and first deal with the exact requirements.


How you can support me and my Hive Engine Witness Node:

You can stake the token "WORKERBEE" and then enter your name at https://primersion.com/he-witnesses at the top. After you have done that, you will see me in the list with the Witness username: @louis.witness and you can vote on the right side:

image.png

Thank you and Happy Block signing!


Here are some helpful Link that helped me a lot:



0
0
0.000
10 comments
avatar

Good, I'm still searching for some good source of looking at custom tokens sending code in js or python. Really makes me wonder...

0
0
0.000
avatar

Geile Nummer! Herzlichen Glückwunsch :) Dann gibt es wohl erstmal Witness Vote :)

0
0
0.000
avatar

Ahhh nice another witness with the heart on the righ spot. that is good!

0
0
0.000
avatar

Weldone @louis88. And congrats towards your new development. It takes lots of efforts and resources to do this. Nice one 👍.

0
0
0.000
avatar

Great job. A sign for others to think about running a node for hive-engine to make this more decentralized

0
0
0.000