Over 1.5 years ago, I initiated the first public Mirrornet for Hive. Since then, Mirrornet has proven itself to be a valuable tool to assist with core development.
It's not easy to maintain because due to huge amount of resources required, so most attention to the Mirrornet was paid around the time when we had to perform HardForks.
Although we are not yet preparing for the next HardFork, there are still many changes being made under the hood. These should be thoroughly tested before going live on Hive.
So now it's time for yet another public, updated instance, running the latest versions of all components.
Mirrornet/Fakenet?
Please refer to my previous posts if you are unfamiliar with what the Mirrornet/Fakenet is.
I strongly recommend reading them before doing anything involving the Hive Mirrornet. I don’t want to repeat what was written, some of the information may be obsolete since it relates to the previous instances that ran a long time ago. However, you can gain a better understanding of what it's all about.
- 2022-04-30 Hive Mirrornet (a.k.a. Fakenet) is up and running!
- 2022-08-05 Preparing Hive Mirrornet (a.k.a. fakenet) for the release candidate testing
- 2022-08-20 Full Public Fake/Mirror API [WIP]
Who is it for?
- Core developers - We use it on a daily basis, whether a public one is available or not.
- Witnesses - To check how new versions of consensus nodes behave in real-world scenarios. You don't have to be in the top20 on the mainnet to run a node for a top20 witness on the Mirrornet.
- (*) Devs, dApps, exchanges - To test their software.
- (*) Users - To play in a big sandbox (but please be careful and read the posts linekd above).
(*) - not yet, because full API is not ready yet
Work in Progress
As always I’ll use this post for on-chain coordination of Mirrornet setup and related tasks.
There's a long way from starting with block conversion and initial deployment, to setting up witnesses, initiating the first production, and then adding required components. At the end of this route is a distributed set of mirror block producers and a fully functional, public fake/mirror API node.
If you are a witness - please consider joining
Currently, I'm running block production for 30 witnesses myself.
If you are going to join, feel free, pick your witness, setup a node and sync it to head block, change the keys for your account to take over production, and you are all set.
Don't worry about setting up a full node unless you have a really good reason to do so.
It requires tons of resources, and I believe that what I have can handle all the load well enough.
Resources
No block_log or snapshot to download. Sync from scratch is the way to go, which is also a test of massive p2p sync.
wget https://gtg.openhive.network/get/mirrornet/hived-a61eef1e -O hived-a61eef1e
chmod 755 hived-a61eef1e
./hived-a61eef1e --chain-id=42 --p2p-seed-node seed.fake.openhive.network:2001
Changelog
"hive_revision":"a61eef1efe27ea3d84148eaac15b75614fbc35b8"
Blockchain state database is AT IRREVERSIBLE state specific to head block: 78772726
- The Mirrornet node based converter is started:
Got 2472 transactions on block 78810454 by gtg -- Block Time Offset: 115 ms
- HAF node replay in progress.
Hats off to @blocktrades and @thebeedevs for all their continuous contributions and support.