Safe Network Entwickler Update 🇩🇪 3. August 2023

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

Vielen Dank an alle, die am DataPaymentNet-Testnetz teilgenommen haben. Es hat seine Aufgabe hervorragend erfüllt und uns gezeigt, dass die Grundlagen von Datenzahlungen solide sind, auch wenn die Benutzeroberfläche noch ein wenig zu wünschen übrig lässt. Wir haben einige Knoten verloren, nachdem die Community gestern Abend einen Replikationsanstieg festgestellt hat. Aber wir haben immer noch 1675 MaidSafe-Knoten, die fröhlich vorankommen (und vor dem Anstieg waren wir viel länger bei 2001 Knoten als zuvor).

Wir haben die Fehler zur Kenntnis genommen: Keine Chunks nach mehreren Stunden, kleinen Clients gehen bei der Selbstverschlüsselung großer Dateien die Ressourcen aus, „Netzwerkfehler konnte den Datensatz nach dem Speichern nicht abrufen“, „Verbindung geschlossen“, „Es wurden nicht alle Chunks gespeichert.“ of file, OutgoingConnectionError to PeerId` und andere. Einige davon hängen zusammen: Null Chunks haben wahrscheinlich etwas mit „OutgoingConnectionError“ und „UnroutablePeer“ zu tun, bei denen der Knoten nicht zu den Routing-Tabellen der Peers hinzugefügt wird. Andere werden das Ergebnis von Änderungen an der Kommunikationsfunktionalität an anderer Stelle sein, und einige werden Fehler sein, die zuvor vertuscht wurden, aber nun durch die Behebung von Problemen aus ihren Lücken hervorgegangen sind. Aber keine Sorge – wir pflügen sie alle durch. :Muskel:

Diese Woche erklärt @Qi_ma im Anschluss an eine Frage in diesem Forum ein wenig über Records.

Datensätze und ihre Beziehung zu Chunks, Registern und DBCs.

„Record“ ist eine „libp2p“-Funktion, die das Hochladen von Daten in das Netzwerk und den Abruf aus dem Netzwerk nach Bedarf ermöglicht.

Der „Record“ umfasst verschiedene wesentliche Funktionen auf Netzwerkebene, darunter Aufgaben wie die Identifizierung der nächstgelegenen Peers und die Erleichterung der Datenübertragung. Indem wir diese Verantwortlichkeiten auf Netzwerkebene an den Datensatz delegieren, können wir uns effektiver auf die Datenzahlung, die Übertragungsvalidierung, die Sicherheitsüberprüfung usw. konzentrieren.

Im Rahmen unserer aktuellen Implementierung verfügen wir über unterschiedliche Datentypen, die auf bestimmten Benutzerfällen basieren. Konkret verfügen wir über Chunk für die Verarbeitung unveränderlicher Daten, DBC für die Verwaltung von Ausgaben und Register für konfliktfreie replizierte Datentypen (CRDTs). Diese Datentypen stellen die Informationen dar, die zwischen den Teilnehmern des sicheren Netzwerks geteilt werden sollen. Alle diese Datentypen können in der „Record“-Struktur gekapselt werden, sodass wir deren leistungsstarke Funktionen nutzen können.

Durch den Einsatz des „Record“ können wir unsere benutzerdefinierten Datentypen effektiv speichern und austauschen und so den nahtlosen Datenaustausch innerhalb des Safe Network fördern.

Damit verwandt ist RecordStore, ein „libp2p“-Modul, das die effiziente Speicherung von Datensätzen auf der Festplatte ermöglichen soll Gleichzeitig dient es auch als Schnittstelle, um die Ausführung benutzerdefinierter Datenaufgaben zu ermöglichen, wie z. B. Datenzahlungsverarbeitung, Überweisungsvalidierung, Sicherheitsüberprüfungen und andere. Der „RecordStore“ schließt effektiv die Lücke zwischen diesen benutzerdefinierten Datenoperationen und dem nativen „libp2p“-Datensatz und ermöglicht so eine nahtlose Interoperabilität und Integration innerhalb des Systems.

Allgemeiner Fortschritt

@Bzee hat sich die Fehler „UnroutablePeer“ und „OutgoingConnection“ angesehen, bei denen es sich um seltene Probleme handelt, die aber nicht selten genug sind, um ignoriert zu werden, und die offenbar damit zusammenhängen, dass Knoten von anderen Peers ignoriert werden. Sie könnten das Ergebnis kürzlicher Korrekturen durch das „libp2p“-Team sein, daher berät er sich mit ihnen. Die AutoNAT NAT-Erkennungsfunktion ist ein weiterer Ort, an dem er und @Aed900 suchen.

@Joshuef befasst sich auch hier mit „RecordParsingFailed“ und den gelegentlichen Speicherspitzen, die von @shu und anderen Community-Mitgliedern gemeldet wurden. :beten:

@Qi_ma leitet Untersuchungen, bei denen unser Testaufbau gelegentlich zu doppelten Ausgaben führen kann, wodurch CI gestoppt wird.

Unterdessen hat @roland im Bereich der internen Tests eine Endlosschleife behoben im Datenüberprüfungsprozess und @chriso ebnet weiterhin den Weg zu automatisiert testnet-Bereitstellung.

Es gab Diskussionen darüber, wie wir uns mit einer festen Adresse registrieren können, um mehrere Vorgänge zu erleichtern. Register sind veränderbar, sodass ihr Hash nicht als Netzwerkadresse verwendet werden kann, anders als beispielsweise ein Chunk. Aber es gibt Möglichkeiten, dieses Problem zu umgehen, und @bochaco ist Vorreiter.

@Anselme bereitet den Grundstein und überarbeitet Register, um Typ-Tags zu entfernen, die nicht mehr benötigt werden

Und etwas weiter gedacht hat @dirvine darüber nachgedacht, SimpleX für DBC-Übertragungen zu integrieren und auch über die Möglichkeit, dass lokale persönliche KIs auf dem Client sitzen und Dinge wie Datenspeicherung, Wallets und Text-to-Speech/Speech-to-Text verwalten für den Benutzer. In diesem Bereich kommen derzeit viele aufregende Dinge zusammen, und Safe ist ein großartiger Ort, um davon zu profitieren.


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!