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!