The primary role of witnesses is to provide infrastructure to keep the chain running. Additionally, we decide on blockchain parameters for the best of the network. To achieve that, we run so-called "witness nodes." This is a computer/server running hived
software that validates blocks and connects to other nodes to share the data.
While it's usually better to host a witness node in a professional datacenter to ensure uninterrupted power and network connection, it's also important to have a local node to stay independent and have full control over it in case of emergencies.
When I was speaking about Hive at Berlin Blockchain Week, I met a guy from Solana. He shared some information about how power-hungry their nodes are and how much it costs to run them. I knew Hive is much better in all measures, but I wanted to know how low we could go in terms of power consumption.
I thought it would be a great experiment to show how efficient Hive software is.
And for the sake of explanation, I have more "full power" backup nodes to validate blocks and keep the chain running. It's just an experiment, yet another Hive witness node. Even such an experiment is useful for the network; the more nodes to share and connect, the better it is for Hive.
Hardware
I decided to try popular, secondhand thin clients that are available almost everywhere. They are cheap and quiet (most of them do not have active cooling!). I already have couple of such devices for local services like pihole or homeassistant and I often try different solutions just to have something to compare.
This time I decided to try Dell OptiPlex 3000 Thin Client:
- | - |
---|---|
Processor | Intel(R) Pentium(R) Silver N6005 @ 2.00GHz |
Memory | 8GB |
Network | RTL8111 Gigabit Ethernet Controller |
Storage | Western Digital Sn770 1TB NVMe drive |
Cost | ~$88 |
Dell OptiPlex 3000 Thin Client comes in a handy package as a read-to-use small computer. All you need to do is to connect couple of peripherals and press power button.
Unfortunately, the original SSD size is 2230 and my new one is 2280 (it's 50 mm longer), there was a conflict with a speaker. Fortunately, it was easily removable.
I also had to remove the threaded part that keeps the original drive in place. I just desoldered it.
Software
The recommended system for the Hive node is Ubuntu 22.04, so that's what I used. I decided to go with the server
version because I do not need to use a GUI, as I use a terminal to manage my nodes.
While the system is working exceptionally well, I experienced some issues with the network adapter. For some reason, the download/upload speed was much lower than 1 Gb/s, even when connecting to my other local devices. I found a thread on StackOverflow that the reason is a bug in the RTL8111 driver. I installed many versions of such and even compiled a couple of them from sources, but I never fully fixed the issue. It works at a sufficient speed but not the highest available. It's enough for the experiment.
Results
As I already said, this setup is working extremely well. I have already more than 2 months of uptime and just take a look at the load average!
engrave@local-hive-witness:~$ uptime
14:43:31 up 62 days, 13:38, 0 user, load average: 0.12, 0.15, 0.12
2025-02-23T15:41:35.671518 block_flow_control.cpp:113 on_worker_done ] Block stats:{"num":93585733,"lib":93585732,"type":"p2p","id":"05940145f38ed44f9ebe415c94e950099cf8b708","ts":"2025-02-23T15:41:36","bp":"quochuy","txs":13,"size":15546,"offset":-330736,"before":{"inc":34,"ok":34,"auth":0,"rc":0},"after":{"exp":0,"fail":0,"appl":1,"post":0,"drop":0,"size":233},"exec":{"offset":-336477,"pre":196,"work":5545,"post":2226,"all":7967}}
2025-02-23T15:41:38.698188 p2p_plugin.cpp:199 handle_block ] Got 25 transactions on block 93585734 by steempeak -- Block Time Offset: -301 ms
2025-02-23T15:41:38.698847 block_flow_control.cpp:113 on_worker_done ] Block stats:{"num":93585734,"lib":93585733,"type":"p2p","id":"059401466df97c2bdc2fb63b3485eae490e99235","ts":"2025-02-23T15:41:39","bp":"steempeak","txs":25,"size":7146,"offset":-301824,"before":{"inc":44,"ok":44,"auth":0,"rc":0},"after":{"exp":0,"fail":0,"appl":0,"post":0,"drop":0,"size":0},"exec":{"offset":-311560,"pre":170,"work":9566,"post":648,"all":10384}}
2025-02-23T15:41:41.699274 p2p_plugin.cpp:199 handle_block ] Got 26 transactions on block 93585735 by themarkymark -- Block Time Offset: -300 ms
2025-02-23T15:41:41.700471 block_flow_control.cpp:113 on_worker_done ] Block stats:{"num":93585735,"lib":93585734,"type":"p2p","id":"059401475365963bce5e1675b4172ef81ce6d7d2","ts":"2025-02-23T15:41:42","bp":"themarkymark","txs":26,"size":5875,"offset":-300861,"before":{"inc":46,"ok":46,"auth":0,"rc":0},"after":{"exp":0,"fail":0,"appl":0,"post":0,"drop":0,"size":0},"exec":{"offset":-316009,"pre":382,"work":14766,"post":1273,"all":16421}}
2025-02-23T15:41:44.683329 p2p_plugin.cpp:199 handle_block ] Got 25 transactions on block 93585736 by abit -- Block Time Offset: -316 ms
2025-02-23T15:41:44.685258 block_flow_control.cpp:113 on_worker_done ] Block stats:{"num":93585736,"lib":93585735,"type":"p2p","id":"05940148aea0541534d0a190ca8557b157f1e1c6","ts":"2025-02-23T15:41:45","bp":"abit","txs":25,"size":5325,"offset":-316828,"before":{"inc":46,"ok":46,"auth":0,"rc":0},"after":{"exp":0,"fail":0,"appl":0,"post":0,"drop":0,"size":0},"exec":{"offset":-332958,"pre":237,"work":15893,"post":2006,"all":18136}}
2025-02-23T15:41:47.692084 p2p_plugin.cpp:199 handle_block ] Got 26 transactions on block 93585737 by ocd-witness -- Block Time Offset: -307 ms
2025-02-23T15:41:47.694268 block_flow_control.cpp:113 on_worker_done ] Block stats:{"num":93585737,"lib":93585736,"type":"p2p","id":"0594014996a966ba9c95a8292f10dd87058bee7c","ts":"2025-02-23T15:41:48","bp":"ocd-witness","txs":26,"size":5081,"offset":-307932,"before":{"inc":45,"ok":45,"auth":0,"rc":0},"after":{"exp":0,"fail":0,"appl":0,"post":0,"drop":0,"size":0},"exec":{"offset":-312522,"pre":399,"work":4191,"post":2174,"all":6764}}
2025-02-23T15:41:50.737229 p2p_plugin.cpp:199 handle_block ] Got 60 transactions on block 93585738 by ausbitbank -- Block Time Offset: -262 ms
2025-02-23T15:41:50.739119 block_flow_control.cpp:113 on_worker_done ] Block stats:{"num":93585738,"lib":93585737,"type":"p2p","id":"0594014a6df065f9fc044aa95322b0891ad3c1d5","ts":"2025-02-23T15:41:51","bp":"ausbitbank","txs":60,"size":10187,"offset":-262814,"before":{"inc":81,"ok":81,"auth":0,"rc":0},"after":{"exp":0,"fail":0,"appl":1,"post":0,"drop":0,"size":256},"exec":{"offset":-274470,"pre":224,"work":11432,"post":1889,"all":13545}}
2025-02-23T15:41:53.697229 p2p_plugin.cpp:199 handle_block ] Got 26 transactions on block 93585739 by guiltyparties -- Block Time Offset: -302 ms
2025-02-23T15:41:53.698106 block_flow_control.cpp:113 on_worker_done ] Block stats:{"num":93585739,"lib":93585738,"type":"p2p","id":"0594014bede6934e3894ebd893d92bf7131bf53a","ts":"2025-02-23T15:41:54","bp":"guiltyparties","txs":26,"size":8979,"offset":-302786,"before":{"inc":45,"ok":45,"auth":0,"rc":0},"after":{"exp":0,"fail":0,"appl":0,"post":0,"drop":0,"size":0},"exec":{"offset":-315118,"pre":326,"work":12006,"post":868,"all":13200}}
2025-02-23T15:41:56.673515 p2p_plugin.cpp:199 handle_block ] Got 23 transactions on block 93585740 by pharesim -- Block Time Offset: -326 ms
2025-02-23T15:41:56.676561 block_flow_control.cpp:113 on_worker_done ] Block stats:{"num":93585740,"lib":93585739,"type":"p2p","id":"0594014c0461d8174058ea84454cf97daa00c6bc","ts":"2025-02-23T15:41:57","bp":"pharesim","txs":23,"size":4985,"offset":-326578,"before":{"inc":43,"ok":43,"auth":0,"rc":0},"after":{"exp":0,"fail":0,"appl":0,"post":0,"drop":0,"size":0},"exec":{"offset":-338302,"pre":384,"work":11340,"post":3080,"all":14804}}
2025-02-23T15:41:56.677105 chain_plugin.cpp:659 operator() ] waiting for work: 93.85%, waiting for locks: 0.04%, processing transactions: 5.61%, processing blocks: 0.44%, unknown: 0.06%
2025-02-23T15:41:59.689154 p2p_plugin.cpp:199 handle_block ] Got 29 transactions on block 93585741 by therealwolf -- Block Time Offset: -310 ms
2025-02-23T15:41:59.691063 block_flow_control.cpp:113 on_worker_done ] Block stats:{"num":93585741,"lib":93585740,"type":"p2p","id":"0594014d42e0e41930064502fc5bf83341b4e002","ts":"2025-02-23T15:42:00","bp":"therealwolf","txs":29,"size":5415,"offset":-310921,"before":{"inc":50,"ok":50,"auth":0,"rc":0},"after":{"exp":0,"fail":0,"appl":0,"post":0,"drop":0,"size":0},"exec":{"offset":-331295,"pre":432,"work":19942,"post":1936,"all":22310}}
2025-02-23T15:42:02.684282 p2p_plugin.cpp:199 handle_block ] Got 22 transactions on block 93585742 by arcange -- Block Time Offset: -315 ms
2025-02-23T15:42:02.686159 block_flow_control.cpp:113 on_worker_done ] Block stats:{"num":93585742,"lib":93585741,"type":"p2p","id":"0594014ede2112d623b346a891b1981cc36c3aa2","ts":"2025-02-23T15:42:03","bp":"arcange","txs":22,"size":10275,"offset":-315814,"before":{"inc":42,"ok":42,"auth":0,"rc":0},"after":{"exp":0,"fail":0,"appl":0,"post":0,"drop":0,"size":0},"exec":{"offset":-329110,"pre":932,"work":12364,"post":1910,"all":15206}}
2025-02-23T15:42:05.704456 p2p_plugin.cpp:199 handle_block ] Got 50 transactions on block 93585743 by yabapmatt -- Block Time Offset: -295 ms
2025-02-23T15:42:05.782216 block_flow_control.cpp:113 on_worker_done ] Block stats:{"num":93585743,"lib":93585742,"type":"p2p","id":"0594014f853ea547eaf59e23e1678918abbd30ce","ts":"2025-02-23T15:42:06","bp":"yabapmatt","txs":50,"size":13671,"offset":-295585,"before":{"inc":69,"ok":69,"auth":0,"rc":0},"after":{"exp":0,"fail":0,"appl":0,"post":0,"drop":0,"size":0},"exec":{"offset":-309258,"pre":202,"work":13471,"post":77743,"all":91416}}
Power consumption

Look at the chart - this is actually incredible. You can run fully featured computer with Hive software node under 5 W on average! It's even closed to 4 W. Think about it. Other blockchains consume many times more power! Not to mention those using PoW.
You can spread the word and let other people know how awesome Hive is!
Support me with your witness vote! Click on the image below:
people with stable housing situations should be hosting nodes. it doesnt seem like a huge cost especially if you are creating content or invested in some other way here. this is a great argument against those who say that blockchain as a whole is inefficient in power consumption. i sure as hell would if i could but ive been discouraged from mobile node hosting haha havent looked into it much since then.
Yep, we still need powerful API nodes that could handle frontends' traffic, but theoretically, almost everyone could run a basic node.
What if the traffic is redirected to hundreds of small API nodes that run on lightweight machines like yours?
It's not API node, it does not handle frontend traffic, it just validates blocks.
Is there a (modern) software tutorial for getting a hive node up and running? I have an unraid box with 128GB of ram, and 10c/ 20t cpu that sits idle almost all of the day... lol
Hive Node Setup for the Smart, the Dumb, and the Lazy.
This is exactly the sort of thing I was looking for. Thank you.
I rely on docs from the hive repository, but I believe there are a couple of instructions that cover this.
I had a look on hive.io / developers, and a lot of the tutorials published there were five years old, which is why I asked, gandalf's guide above should allow me to experiment with this again, to run on local hardware. :)
Nice! I have been looking to do something like that too. That seems way lighter than what I have heard you need for a witness node though. I was told like 32GB of RAM and 1TB SSD or NVMe... Maybe that is for an API node...
With enough RAM, you can keep the shared_memory file (basically blockchain state) in memory, rather than on disk (my case here). It will be much faster to load the state on node restart, not to mention replay ;) But if you are patient enough, you can use the cheapest option like this one.
Ah, okay. I have been looking to run a witness locally for a while just didn't know what kind of machine to get.
If you want to go full-performance with minimal cost, you need 32 GB of RAM (shared memory file takes 24 GB at the moment and for fastest node it's recommended to keep it in memory) and 1 TB of storage (nvme preferred for speed, block log file takes a bit under 500 GB at the moment). Regarding the CPU, take anything modern and you will be fine. The most important measure is single core performance as it will define how fast can you replay a node from scratch.
got it thanks for the info!
Nodes are super light once they are fully synced.
I have a question, How long did it take to fully sync/replay, I would imagine it'd take an awful long time on such hardware, unless you managed to get it synced on more powerful hardware and then shift it over?
This would be great for me here in the UK since electric prices are pretty high.
But I can't really justify it myself since I've got a massive server at my house as it is, It's averaging 250-300W usage but it does also do more than just a hive witness node.
In fact it's got 2 Hive instances running + 8 other VMs. Which seems pretty good power wise considering.
Yeah, I copied shared_memory and block_log from my other node so I didn't have replay it on such hardware. It would take a while :D I tried loading the snapshot but stopped after a couple of days, I'm not sure how long it would take.
I could imagine anything up to 14 days if not more, longest I've gone is 5 days doing a replay, that was before I had NVMEs in raid config.
The efficiency of Hive nodes truly sets it apart in the blockchain space. Your experiment shows that sustainability doesn't have to come at the cost of performance. Keep pushing those boundaries!
I would love a guide or post on how to setup a node? I could easily spin up a VM in TrueNas and have it running 24/7
Hive Node Setup for the Smart, the Dumb, and the Lazy written by gtg
THANK YOU!
Amazing set you have to run your node. It will be great option to start from low budget in Africa. I will have some spared money to upgrade internet connection.
Peace
Someday I'll even become a witness to Hive :)
I wonder if it would run on a laptop with 64 gb ram 1tb ssd on windows with docker desktop running Ubuntu? I do have a very stable fiber optic fast connection that changes ip only a couple times a year.
You can run Hive as a docker container directly in Docker Desktop, there's no need to run Ubuntu just to run Hive. Your specs are definitely enough to run it smoothly.
@tipu curate
Upvoted 👌 (Mana: 22/62) Liquid rewards.
!BBH
This is a great experiment,@engrave!It's impressive that you've managed to run a fully functional Hive witness node on such low-power hardware.It's great to see that Hive is so efficient and can be run on a variety of systems.
I'm curious about the network adapter issue you encountered. Have you tried updating the BIOS on the Dell OptiPlex 3000 Thin Client? Sometimes that can help resolve network driver conflicts.
I'm also interested in the power consumption chart. It's amazing to see how much more efficient Hive is compared to other blockchains.
Thanks for sharing your experiment and for your continued work as a Hive witness!
Yes, this was the first thing to do, then - compiling unix drivers from sources.
I can see this, but how a system like this will handle a bout of major activity? Would be fine?
It should handle it pretty well, I believe, the average load on the CPU is super low. I'm waiting for increased chain usage to verify!
I was looking at micro-PC to test some nodes, but here in UK they are still expensive, while the laptops are quite cheap, and there is the issue with them being almost impossible to upgrade (not the expert IT that I would like to be). I was thinking for a Hive node, or at least a HE node if possible. Can I put both on a server?
I don't have any experience with HE nodes so I can't tell you tbh.
!LOLZ
lolztoken.com
It's riveting
Credit: reddit
$LOLZ on behalf of pompe72
(1/10)
PLAY & EARN $DOOM
@engrave, I sent you anGood morning. Thank you for sharing information.
Hmm
!PIZZA
$PIZZA slices delivered:
(5/10) @danzocal tipped @engrave
nice job and thanks for the info! ;)
ps. where can i get this cute pc for $88 from?
Local market, something like ebay
very nice! :) good offer
i was thinking about the same and already cheked on our local...
Fantastic. Super glad you made the experiment.
How would this hardware fare if it were run as your main witness node?
Wonderful to see the other side of being a witness EXPLAINED!