Hornet Full-Node

Hier begleite ich in Zukunft das Community-Projekt HORNET, welches sich derzeit am Anfang der Entwicklung befindet. (Stand Okt.’19)

 

HORNET ist ein Projekt welches aus dem IOTA Ecosystem-Development-Fund (EDF) mit 154.500 € gefördert wird. Die Förderung geht an die TangleKit GbR, einem Unternehmen, das speziell für die Herstellung von Produkten und Dienstleistungen auf Basis der IOTA-Technologie gegründet wurde. Die drei Gründer sind in der Community bekannt, es sind Sebastian Fuchs (IoTMOD), Maximilian Hase (muXxer) und Alexander Sporn (alexsporn). Das Unternehmen TangleKit GbR bietet bereits einen Service namens POWSRV.io für das IOTA Netzwerk an, dieser ermöglicht einen schnellen "Proof of work as a service" für Geräte mit begrenzter Rechenleistung.

Durch die Unterstützung bei der Entwicklung verschiedener Full-Node-Implementierungen wie IRI, cIRI und Hercules sowie durch die Entwicklung eines leistungsstarken IOTA-Transaktionsspammers mit mehreren Angriffsstrategien haben sich die drei Community Mitglieder in der Vergangenheit viel Wissen über die IOTA-Technologie angeeignet. Dieses Wissen soll nun in Form der optimierten Open-Source Full-Node Software HORNET dem IOTA-Ökosystem zugutekommen.

Hauptziel dieses neuen Projekts ist es, einen vollständig in der Programmiersprache Go geschrieben Full-Node namens HORNET für das Mainnet zu entwickeln. HORNET soll die Installation und den Betrieb eines Full-Node auf Low-End-Geräten wie einem Raspberry Pi mit deutlich gesteigerter Leistung ermöglichen. Bei der Entwicklung soll Funktionsparität mit der IOTA Full-Node-Software IRI v1.8.0 erreicht werden, darüber hinaus soll HORNET, die derzeit bekannten Engpässe in der IRI-Software beheben (z. B. Tip-Selection).

Meilenstein 1 - HORNET erwacht

Am 6. Oktober 2019 meldete das Team ihren ersten Fortschrittsbericht, nachfolgend sind die wichtigsten Punkte aufgelistet:

  • HORNET soll zu einer Full-Node-Software werden, die von der Community für die Community erstellt wird.
  • Nach vielen Diskussionen, sowohl intern als auch mit IOTA Foundation, wie man HORNET am effizientesten gestalten kann, wurde in den letzten Wochen eine solide Basis für HORNET geschaffen.
  • Als Basis für HORNET wurde das modulare Konzept von GoShimmer verwendet, es war nicht nötig, das Rad neu zu erfinden. Mit diesem Konzept sollte es in Zukunft auch möglich sein, Module von GoShimmer ohne viele Änderungen am Code auch in HORNET zu implementieren.
  • HORNET kann zum jetzigen Zeitpunkt bereits eine Verbindung mit IRI- oder HORNET-Nodes herstellen und mit ihnen kommunizieren, dazu wurde der Netzwerkcode intensiv optimiert.
  • Die Datenbank- und Cachestruktur sind bereits eingerichtet, so dass Transaktionen bereits bearbeitet und gespeichert werden können.
  • Die Compass (Koordinator) Meilensteine können auch synchronisiert und verfestigt werden.
  • Um eine vollständige Synchronisation zu ermöglichen, wurde die Möglichkeit implementiert, lokale Snapshots zu laden. Seitdem IRI die RocksDB (eine leistungsstarke eingebettete Datenbank für Schlüsselwertdaten) für die Ausgabe-Adressen verwendet, konnten leider keine IRI-Snapshots geladen werden, ohne diese vorher zu konvertieren. Dazu gibt es ein neues Tool, das die Konvertierung durchführt, so dass ggf. jede lokale IRI-Snapshot verwendet werden kann.
  • Um HORNET effizient testen zu können, wurde ein eigenes Testnetz (HORNET-Hive) eingerichtet. Hier kann das Team, ohne das Mainnet zu benutzen, verschiedene Szenarien wie hohes TPS, Angriffe und so weiter testen.
  • Aufgrund des frühen Stadiums der Entwicklung wurde entschieden, den Code vorerst noch nicht zu veröffentlichen. Der Quellcode ändert sich derzeit noch sehr häufig und teilweise bei mehreren Dateien gleichzeitig. Da die Web-API ohnehin noch fehlt, kann HORNET in diesem Entwicklungsstadium nicht mit den Clientlibs oder Trinity verwendet werden, daher macht das Testen von HORNET für die Community im Moment noch keinen Sinn.

 

Was kommt als Nächstes?

Im Meilenstein zwei soll die vom IRI bekannte Web-API (Anwendungsprogrammierschnittstelle) zusammen mit ZeroMQ und dem Ledger-Status implementiert werden. Nach Erreichen des zweiten Meilensteins wird es daher für die Community möglich sein, HORNET zu testen, es wird allerdings empfohlen, diesen Entwicklungsstand noch nicht im Mainnet zu verwenden.

 

 

 

 

 

Update 11. Dez‘19

Meilenstein 2 + 3 - WEN HORNET?  Ab sofort!

Es ist nun mehr als zwei Monate her, dass wir den letzten Meilensteinbericht veröffentlicht haben. Dafür gibt es einen Grund: Wir haben gleich zwei Meilensteine erreicht, damit Sie HORNET endlich richtig testen können. HORNET beta ist jetzt veröffentlicht!

Um die Entwicklung von HORNET noch schneller zu gestalten, freuen wir uns über ein neues Teammitglied. Von der IOTA-Foundation erhielten wir Unterstützung in Person von Luca Moser. Er fungiert auch als Brücke zwischen dem Entwicklungsteam der IOTA Foundation und uns.

In den letzten zwei Monaten haben wir die Implementierung der IRI-API abgeschlossen, so dass Sie HORNET nun zusammen mit den IOTA-Client-Bibliotheken und dem Trinity-Wallet nutzen können. Denken Sie daran: HORNET wird als Beta-Version und nur zu Testzwecken veröffentlicht und berücksichtigen Sie dies bei der Auswahl der IOTA-Beträge, die Sie versenden.

Wir übersprangen die triviale Tip-Auswahl und implementierten die Tip-Auswahl, die IRI verwendet. Dies wurde durch Meilenstein drei definiert. Dabei hat HORNET den gleichen Tip-Auswahlalgorithmus wie IRI verwendet, HORNET ist immer noch weitaus schneller als IRI, da Verbesserungen auf der Implementierungsebene vorgenommen wurden.

 

Wie in unserem zweiten Meilenstein definiert, haben wir auch die von IRI bekannten ZMQ (ZeroMQ) Themen umgesetzt. Auf diese Weise können Sie HORNET verwenden, um Tangle-Ereignisse zu sehen.

Dank der Community haben wir nun ein schönes Logo. Sie finden dieses Logo an verschiedenen Stellen im HORNET, z.B. im neuen Dashboard.

 

 

Mit dem Dashboard können Sie Ihren HORNET-Node und Ihre Nachbarschafts-Statistiken überwachen. Und obendrein hast du jetzt deinen eigenen Tangle Explorer. Der Tangle Explorer ist stark von TheTangle.org inspiriert und sollte nicht als Ersatz für TheTangle.org gesehen werden, sondern als Ergänzung. Das Dashboard-Design ist noch nicht abgeschlossen. Die IOTA Foundation arbeitete freundlicherweise an einem neuen Design, das in eine zukünftige Version von HORNET integriert werden könnte.

Der nächste Schritt, definiert durch Meilenstein vier, ist die Implementierung lokaler Snapshots zur Unterstützung von Nodes mit begrenztem Speicherplatz.

 

Aber kommen wir zu dem, worauf ihr alle gewartet habt. Ab sofort können Sie vorkompilierten Programmpakete für alle gängigen Architekturen und Betriebssysteme herunterladen oder wenn Sie HORNET noch selbst kompilieren wollen, so ist dies leicht zu bewerkstelligen, indem man einfach das Git-Repository klont und Go Build ausführt.

Sie finden unser GitHub-Repository und die neuesten Releases unter https://github.com/gohornet/hornet

 

Wenn du Fehler oder Abstürze entdeckst, kannst du gerne ein neues Problem auf github öffnen. Wenn du dir nicht sicher bist, ob es sich um einen Programmfehler handelt, frage bitte zuerst im #hornet-Kanal auf dem offiziellen IOTA-Diskord-Server nach. Da jedes neue Problem unsere Entwicklung verlangsamt, sollten wir die Anzahl der Probleme so klein und genau wie möglich halten.

Viel Spaß beim Testen!