Milestone 1 — The HORNET awakens
The full article was originally published by GoHORNET on Medium. Read the full article here.
Hello IOTA community,
in the past weeks we build a solid base for HORNET. This is the first insight into the development.
There have been a lot of discussions on how to make HORNET the most efficient. We also stayed in close contact with the IOTA Foundation.
If you will have a closer look at the source code at the time of its release, you will soon notice, that we used GoShimmer as the base for HORNET, because we love the modular concept GoShimmer uses. So there was no need to reinvent the wheel.
This way it also should be possible to use modules from GoShimmer within HORNET without many modifications to the code.
HORNET is supposed to become a node software, which is created by the community for the community. And that’s why the modular concept fits perfectly.
With the release of this update we successfully finished the goals of the first milestone. HORNET can now establish a connection with IRI or HORNET nodes and communicate with them. For this, we have intensively optimized networking code.
The database and cache structure have already been set up, so that transactions can already be processed and stored.
In addition the Compass (Coo) milestones can also be synchronized and solidified. To be able to fully sync, we implemented the possibility to load local snapshots. Since IRI uses RocksDB e.g. for the spend addresses, we sadly could’t load an IRI snapshot without converting it. For this there is a new tool which does the conversion so that every IRI local snapshot can be used.
In order to test HORNET efficiently, we have created our own testnet (called HORNET hive). Here we can test HORNET without having to use the Mainnet. This way we can test different scenarios like high TPS, attacks and so on.
Since the development of HORNET is still in an early stage, we decided not to publish the code for the time being. The source code changes very frequently and we modify several files at the same time. This makes testing HORNET impossible for the community at the moment.
Because the web API is missing anyways, HORNET cannot be used with the client libs or Trinity at this stage of development. This will be the goal of milestone two.
What comes next?