Safe Network Entwickler Update 🇩🇪 27. April 2023

Dies ist eine maschinelle Übersetzung. Das Original in Englisch ist hier: Update 27 April, 2023

Ein weiteres relativ kompaktes Update in dieser Woche, während wir an der Vorbereitung des nächsten Community-Testnetzes arbeiten, das intern etwas mehr optimiert werden muss. Wir haben eigentlich zwei Testnetze geplant. Die erste wird eine relativ einfache Angelegenheit sein, mit im Speicher gespeicherten Daten und ohne NAT-Traversal. Da wir die Neigung der Community kennen, Testnetze mit Schwanzbildern (sic) und Plattensammlungen zu bombardieren, erwarten wir, dass dies eine ziemlich kurzlebige Angelegenheit sein wird, aber es sollte uns ermöglichen zu sehen, was mit dem Nachrichtenaustausch zwischen Knoten passiert. Bald darauf sollten wir jedoch in der Lage sein, einen Schalter umzulegen, um das Speichern auf der Festplatte und danach NAT-Traversal zuzulassen. Also, kleine Schritte, aber es ist das schnellste Baby, das du je gesehen hast.

Außerdem freuen wir uns, Angus (@aed900) im Team willkommen zu heißen :tada:. Angus ist ein Netzwerktechniker, der uns bei Routing und Konnektivität helfen wird. Er springt ins kalte Wasser und arbeitet mit @bzee zusammen, um zu sehen, wie libp2p mit NAT-Traversal umgeht und welche Optimierungen für Safe erforderlich sein könnten.

Allgemeiner Fortschritt

@Bochaco ist derzeit Sr. Serialisierung und stellt sicher, dass alle Daten effizient im Speicher oder auf der Festplatte übertragen und gespeichert werden können, dass die Nachrichtenübermittlung effizient ist und die erwartete Asynchronität bewältigen kann und dass wir letztendlich mehrere Programmiersprachen unterstützen können, indem wir sicherstellen, dass Datenformate vorhanden sind plattformunabhängig (z. B. protobuf).

Viele der generischen Dinge, von denen wir glauben, dass sie auf libp2p gepusht werden können, überlassen es uns, die spezifischen Anforderungen für Apps zu handhaben, die auf Safe laufen.

@roland, @qi_ma und @anselme untersuchen, wie libp2p mit Datenanfragen umgeht. Grundsätzlich gibt es zwei Szenarien für ein GET. Eine davon ist eine einfache Kademlia-Anfrage, die basierend auf der XOR-Adresse der Daten an die nächstgelegenen Knoten weitergeleitet wird. „libp2p“ hat auch eine Dienstanbieterfunktion, bei der der Client einen Dienst von einem spezialisierten Knoten (z. B. einem Audit- oder einem Archivknoten) anfordert, der dann die Anfrage ausführt. Offensichtlich wird dies später massiv hilfreich sein.

@bzee testet weiterhin NAT-Traversal. Derzeit befasst er sich mit der Relay-Funktionalität, insbesondere wie wir diese als Teil der Startsequenz verwenden können, d. h. zuerst NAT erkennen und dann optional eine Verbindung zu einem Relay herstellen. Er untersucht auch, wie man erkennt, welche Knoten welche Funktionalität bieten (siehe oben).

@joshuef vertieft sich in die Refresh-Funktionalität von libp2p. Kademlia zwingt Knoten standardmäßig, die Lebendigkeit ihrer nächsten Nachbarn zu überprüfen, indem sie regelmäßig Daten an sie replizieren, aber dies kann in unserem Fall verschwenderisch sein (oder auch nicht). Begrenzte Tests haben keine Probleme ergeben (und es war in der Tat sehr erfreulich zu sehen!), aber wenn wir uns vergrößern, möchten wir diese zeitbasierte Funktionalität möglicherweise auf eine ereignisgesteuerte verschieben, bei der Überprüfungen durchgeführt werden, wenn Änderungen an der enge Gruppen (Joins und Leaves) werden erkannt.

Und mit dem Schraubenschlüssel in der Hand wie ein neuzeitlicher Mario hat @oetyng heldenhaft DBCs in die neue Architektur eingebaut. Unser neues Zuhause hat jetzt einen Wasserhahn für jeden, der ein Comnet startet. Diese Person beansprucht den Genesis-DBC und kann ihn dann nach Belieben weitergeben. Wir planen, eine Webseite zu haben, auf der Benutzer selbst auf den Wasserhahn tippen können, um Zahlungen zu leisten. Davor können Zahlungen über die CLI getätigt werden, indem Sie diesen drei Schritten folgen:

  1. Erhalten Sie eine öffentliche Adresse vom Empfänger.
  2. Rufen Sie den Wasserhahn mit der zu erhaltenden Menge an.
  3. Übergeben Sie das resultierende DBC-Hex an den Empfänger.

Nützliche Links

Fühlen Sie sich frei, unten mit Links zu Übersetzungen dieses Entwicklungsupdates zu antworten, und die Moderatoren werden sie hier hinzufügen.

Als Open Source-Projekt sind wir immer auf der Suche nach Feedback, Kommentaren und Community-Beiträgen. Seien Sie also nicht schüchtern, machen Sie mit und lassen Sie uns gemeinsam das sichere Netzwerk erstellen!