Hive Mirrornet (a.k.a. Fakenet) is up and running!

Long story short:
Public Hive Mirrornet seed instance is up and running.

p2p-seed-node = seed.fake.openhive.network:2001
--chain-id 42

https://gtg.openhive.network/get/testnet/mirror/

That’s pretty much all you need to start playing with the mirror. Have fun.

If you don’t understand the above, don’t worry, now I’ll try to explain what is all about.

- Of course, such post is a good excuse to publish yet another Hive logo reveal

Nothing is true on the mirror net

It might look the same, it might feel the same, but it’s fake.
The only purpose of its existence is research and development of the Hive ecosystem.
We will break it, shatter it, and re-create it over and over again.
Of course you are very welcome to join and play in this large scale sandbox, but …

YOU HAVE TO BE CAREFUL WITH THE MIRROR

The most important thing is to remember that everything you see in the mirror is fake. Assets are not real and they have no value. Accounts are fake and you shouldn’t assume that @gandalf in the mirror is the same @gandalf on the Hive. Your actions on the Hive can affect the mirror, but things you do in the mirror can’t affect the Hive.
You can do crazy things with your mirror account without a fear of breaking something in the real world, but that’s true as long as you can distinguish the mirror from reality. Also make sure that tools that you are using for chain interaction can tell such a difference.

It’s not that easy to make such a mistake because while the private keys on both networks might be the same and many transactions are the same, there are different chain IDs and resulting hashes, so the TaPoS keeps us from replay attacks, etc.
Given that, it requires some extra effort to shoot ourselves in the foot, but…

”Two things are infinite, the universe and human stupidity, and I am not yet completely sure about the universe.”

Well, just be careful please. :-)

Testnet vs Mirrornet

Testnet

  • Easy and quick to set up
  • Low resource requirements:
    • Seed node or witness node takes 2GB for block log and 5GB for shared memory file.
    • API node takes extra 3GB for account history storage
    • Hivemind’s database takes 2GB
  • Bootstrap process creates accounts based on mainnet
  • Tool called tinman-gatling can port live transactions from mainnet to testnet to mimic activity
  • A lot of mimicked transactions are going to fail because of huge difference with the mainnet
  • TESTS and TBD as native assets

Mirrornet

  • Way more time consuming to set up, less tools currently
  • High resource requirements (similar to the mainnet):
    • Seed node or witness node takes 500GB for block log and 16GB for shared memory file.
    • API node takes extra 750GB for account history storage
    • Hivemind’s database takes 650GB
  • Initial “conversion” turns mainnet blocks to mirror (i.e. accounts, balances, transactions)
  • Node based converter ports live transactions from mainnet to mirrornet to mimic activity
  • Some of mimicked transactions are going to fail because of small difference with the mainnet
  • HIVE and HBD as native assets (but of course fake)

Recipe for Copy&Paste Experts

# Go to a directory where you want to set up your node
# Create subdirs
mkdir -pv mirror-consensus/blockchain mirror-consensus/snapshot
# Get the block_log
wget https://gtg.openhive.network/get/testnet/mirror/block_log -O mirror-consensus/blockchain/block_log
# Get the snapshot (unpack on the fly)
wget https://gtg.openhive.network/get/testnet/mirror/mirror-consensus-bootstrap.tar.bz2 -O - | tar -xjvC mirror-consensus/snapshot
# Optionally get the block_log index
wget https://gtg.openhive.network/get/testnet/mirror/block_log.artifacts -O mirror-consensus/blockchain/block_log.artifacts
# Get binaries
wget https://gtg.openhive.network/get/testnet/mirror/hived-mirror-develop
wget https://gtg.openhive.network/get/testnet/mirror/cli_wallet-mirror-develop
# Make them executable
chmod -c 755 {hived,cli_wallet}-mirror-develop
# Get configuration
wget https://gtg.openhive.network/get/testnet/mirror/config.ini -O mirror-consensus/config.ini
# Run it for the first time:
./hived-mirror-develop --chain-id 42 -d mirror-consensus --load-snapshot mirror-consensus-bootstrap
# Next time you just need to run
./hived-mirror-develop --chain-id 42 -d mirror-consensus

What's next?

That's just a seed node and a pack of block producers (I'm pretending to be multiple witnesses until they take over), hopefully soon other peers will join (real fake producers), and once we have a fully featured API node running (in the next week or so) - dApps could start to test their stuff.

H2
H3
H4
3 columns
2 columns
1 column
60 Comments