DEV Community

DoctorLai
DoctorLai

Posted on

Started Syncing the Hivemind

What is hivemind?

Repo: https://github.com/steemit/hivemind

In short, the hivemind is a data abstraction layer that builds on top of steemd. It is a python tool that sends requests to steemd and processes the data and stores it in Postgres database.

It is robust and resilient - a sudden crash/reboot won't force a re-start from block 1. On the contrast, steemd (witness node, seed node, RPC node, Account History node etc) crashes or reboots (or even a suprising apt update/upgrade) and then you are screwed with a forced replay most likely e.g. database corruption.

A new hivemind in progress

Previously, when the official node api.steemit.com was down because hivemind bugs, many other community nodes are also down. That is because in jussi - the plugins related to hivemind are redirected to official node - so one down, all down.

This is not good - and it is a single point of failure.

So, I've decided to take one more responsibility. I have purchased a new VPS instance/server (one year upfront fee paid), and started the syncing of the hivemind.

I might put it on existing seed server or two other steem RPC nodes, but hivemind a separate server seems the way to go - better resilience, more robust and higher availability.

image.png

The Hivemind specs:

  1. 800GB SSD
  2. Quad Cores (2794MHz)
  3. 8GB RAM
  4. 32 TB (Outbound Traffic)
  5. 400Mb/s port speed

The syncing is expected to take a while - which I shall monitor from time to time. When this is done - I'll configure my nodes (jussi) to point those hivemind related plugins to it - to provide a better and robust RPC node.

Replaying video:
https://youtu.be/ZmqBf1RNMU8

Checking if it works:

curl --data '{"jsonrpc":"2.0","id":0,"method":"hive.db_head_state","params":{}}' http://localhost:8080
{"jsonrpc": "2.0", "result": {"db_head_block": 6295000, "db_head_time": "2016-10-30 20:45:00", "db_head_age": 189980086}, "id": 0}


Follow me at https://steemyy.com
And, don't forget, you can swap your STEEM to USDT (TRC-20) via Super Easy/Handy Service to Convert your STEEM or SBD to USDT (TRC-20)

Steem to the Moon!

"1 STEEM = 0.235502889365 USD"

Top comments (0)