Juli 13, 2019

IRI 1.8.0 mit neuer Implementierung des Netzwerks

IRI 1.8.0 mit neuer Implementierung des Netzwerks

Das IRI-Team hat in den letzten Monaten intensiv daran gearbeitet, die Stabilität der Software zu verbessern und sie besser auf die zunehmende Einführung von IOTA vorzubereiten. Die vorherige Version, IRI 1.7.1, enthielt mehrere Korrekturen, die die Software stabiler machten. Um IRI noch zukunftssicher zu machen, mussten einige Komponenten der Software komplett überarbeitet werden. Eine der Komponenten, die wir komplett überarbeitet haben und heute veröffentlichen, ist das Networking.

Das Umschreiben des Netzwerks bringt eine Menge Änderungen mit sich, die das Verhalten der Nodes besser auf die bevorstehenden Aufgaben vorbereiten. Es vereinfacht auch die Funktionsweise der Nodesoftware, sodass der Code anpassungsfähiger und leichter zu debuggen ist. Wir haben auch Dinge wie BCTCurl in die Transaktionsverarbeitungs-Pipeline aufgenommen, und IRI kann jetzt Transaktionen in Stapeln von bis zu 64 hashen. Dies wird mit den Durchsatzverbesserungen in Zusammenhang stehen, die folgen werden.

Vielen Dank an das IOTA Community Komittee

Ein Teil dieser Bemühungen war die Einrichtung eines IOTA-Community-Komitees. Eine Gruppe von Community-Mitgliedern, die vom Rest der Community gewählt gaben Feedback zu den Änderungen. Die Mitglieder bekamen einen Überblick zu den Änderungen und sie nahmen mit ihren eigenen Nodes an dem neuen Netzwerk teil, um die neue Vernetzung zu testen.

Danke an Mathieu Viossat, muXxer, nuriel77, Roman Semko, Yell0w und Zoran. Und an Luca Moser von der IF, für den Aufbau und die Wartung des Netzwerks.

Wir hoffen, einen ähnlichen Ansatz auch für einige größere Änderungen in der Zukunft zu verwenden.

Upgrade auf 1.8.0

Um weiterhin am Mainnet teilnehmen zu können, musst du deine Node aktualisieren. Diese Version ist nicht abwärtskompatibel.

So aktualisierst du deine Node:

  1. Ändere die Verbindungen der Nachbarn von UDP zu TCP. UDP wird von der neuen Version nicht unterstützt.
  2. Wenn du einen Nachbarn hast, mit dem du noch nicht zu TCP gewechselt bist, tue das jetzt
  3. Ändere die Konfigurationsparameter wie im Abschnitt Änderungen in 1.8.0 beschrieben.
  4. Lade die neue Version von IRI von der Release-Seite herunter.
  5. Führe die neue Version von IRI aus.

Bitte lasse deinen Nachbarn etwas Zeit für das Upgrade. Die Verbindung wird nur mit Nachbarn hergestellt, die ein Upgrade auf 1.8.0 durchgeführt haben. Wenn du innerhalb eines Tages keinen Datenverkehr von deinen Nachbarn erhältst, starte die Node neu. Möglicherweise haben deine Nachbarn nach einer längeren Zeit ein Upgrade durchgeführt, und ein Neustart des Nodes sollte die Verbindung wiederherstellen.

Änderungen in 1.8.0

Es gibt viele, viele Änderungen in dieser Version, aber alle sind auf die Netzwerkebene beschränkt. Die bemerkenswertesten Änderungen sind:

  • Unterstützung für UDP-Verbindungen wurde entfernt

Die folgenden Konfigurationsparameter wurden entfernt:

  • UDP_RECEIVER_PORT
  • TCP_RECEIVER_PORT
  • MAX_PEERS
  • DNS_REFRESHER_ENABLED
  • DNS_RESOLUTION_ENABLED

Die folgenden Konfigurationsparameter wurden hinzugefügt:

  • NEIGHBORING_SOCKET_ADDRESS - Definiert die Socket-Adresse, an die der TCP-Socket gebunden werden soll.
  • NEIGHBORING_SOCKET_PORT - Definiert den Port des zu verwendenden TCP-Sockets.
  • RECONNECT_ATTEMPT_INTERVAL_SECONDS - Definiert das Intervall, in dem versucht wird, die gewünschten Nachbarn wieder zu verbinden / zu trennen.
  • AUTO_TETHERING_ENABLED - steuert das Auto-Tethering, dies wurde zuvor über TESTNET true gesteuert, der Standardwert ist false (auch im Testnet-Modus).
  • MAX_NEIGHBORS - Umbenennung von MAX_PEERS, definiert die maximale Anzahl verbundener Nachbarn. Die Standardeinstellung ist 5, der vorherige Parameter hatte eine Standardeinstellung von 20.

Andere bemerkenswerte Änderungen:

  • Es ist jetzt möglich, eine Verbindung zu mehreren Nachbarn herzustellen, die von derselben IP-Adresse ausgehen, da die Identität eines Knotens dessen IP-Adresse + Server-Socket-Port ist
  • BCTCurl wird in der Transaktionsverarbeitungspipeline verwendet, die bis zu 64 Transaktionen stapelt, um sie gleichzeitig zu hashen.
  • Nachbarn werden jetzt erst hinzugefügt, nachdem ihr Domain-Name aufgelöst werden konnte.
  • Gossiping Transaktionen sind jetzt dynamisch und nehmen 341–1650 Byte Daten auf.
  • Der API-Aufruf getNeighbors gibt nun auch die Domäne zurück, mit der der Nachbar hinzugefügt wurde und ob der Nachbar tatsächlich verbunden ist.
  • Der angeforderte Transaktions-Hash eines Transaktions-Gossip-Pakets ist nun auf 49 Byte festgelegt, unabhängig davon, in welchem Modus der Knoten ausgeführt wird.

Die vollständige Liste der Änderungen finden Sie auf der Release Seite.

Was kommt als nächstes

Mit dem neuen Netzwerk wird sich das IRI-Team nun darauf konzentrieren, den Gesamtdurchsatz des Netzwerks zu verbessern. Dies beginnt mit dem Hinzufügen einer Caching-Ebene über unserer IRI-Datenbank, um unnötige E / A-Vorgänge zu vermeiden. Dies sollte die CTPS Rate, die wir unterstützen können, erheblich verbessern. Wir werden diese Änderung dann bei Bedarf erweitern.

Tritt dem IOTA Discord Server bei.

Quelle: https://blog.iota.org/iri-1-8-0-with-networking-rewrite-9d1e2be001e7