Safe Network Entwickler Update ­čçę­čç¬ 28. Januar 2021

Dies ist eine maschinelle ├ťbersetzung. Das Original in Englisch ist hier: Safe Network Dev Update - January 28, 2021

Zusammenfassung

Hier sind einige der wichtigsten Dinge, die seit dem letzten Entwickler-Update hervorgehoben werden sollten:

  • Heute ist Datenschutztag (in einigen Teilen auch als Datenschutztag bekannt). Wir ermutigen alle in unserer Community sowie alle, die mit anderen Projekten mit ├Ąhnlichen Zielen in Verbindung stehen, mehr denn je darauf zu dr├Ąngen, diese gemeinsamen Ziele zu erreichen. Jeden Tag kommen wir alle einen Schritt n├Ąher. :raised_hands:
  • Die Belohnungs-PR wird derzeit einer Peer Review unterzogen und getestet - das Verdienen von M├╝nzen ist sehr knapp!
  • Wir haben endlich den Fehler behoben, der uns seit einigen Wochen aus dem Weg ging.
  • Das Debuggen des Problems mit dem H├Ąngen von Verbindungen hat einige Bereiche hervorgehoben, die verbessert werden m├╝ssen, um den Prozess zu vereinfachen, wenn wieder etwas ├ähnliches auftritt. Daher wird daran gearbeitet, qp2p zu aktualisieren und die API zu vereinfachen.
  • Mit dieser PR, die jetzt zusammengef├╝hrt wurde, kann die CLI jetzt den Kontostand ihres eigenen SafeKey ├╝berpr├╝fen.
  • Neue Versionen von sn_authd (v0.0.15), CLI (v0.17.2) und sn_node (v0.25.39) wurden ver├Âffentlicht. CLI und authd wurden jetzt mit MUSL f├╝r Linux.

Noch kein ├Âffentliches Testnetz ÔÇŽ

Wir waren heute wirklich am Zaun, als wir ├╝berlegten, ob wir weiterhin Messaging reparieren, Belohnungen vornehmen und einige qp2p-Verbesserungen vornehmen sollten (alle weiter unten ausf├╝hrlicher beschrieben) oder ein ├Âffentliches Testnetz mit allem, was wir bisher hatten, einrichten sollten. Wir haben beschlossen, dass die richtige Entscheidung darin besteht, mit den Korrekturen und Verbesserungen fortzufahren, in denen wir uns gerade befinden, und so ein ├Âffentliches Testnetz f├╝r einige Tage zur├╝ckzuhalten, von denen wir glauben, dass es noch einige Tage dauern wird. Wir haben beschlossen, dass das Team beim Einrichten und Unterst├╝tzen des Testnetzes zu viele Ablenkungen hat. Au├čerdem waren die Releases ÔÇ×* k├Ânnte *ÔÇť weniger stabil und schwieriger zu debuggen, als wir es uns w├╝nschen w├╝rden, wenn die Messaging- und qp2p-Korrekturen und -Erweiterungen fehlen w├╝rden. Wenn wir es verz├Âgern, haben wir auch die M├Âglichkeit, die unten beschriebenen Belohnungsflussarbeiten (M├╝nzen verdienen: Augenzwinkern :slight_smile: in jedes ├Âffentliche Testnetz aufzunehmen.

Wir arbeiten hier an einem Fix / Improvement-Pfad, der gut mit dem Team zusammenarbeitet, um eine einspurige Denkweise zu entwickeln. Daher f├╝hlt es sich richtig an, die Ver├Âffentlichung vorerst zur├╝ckzusetzen und noch ein paar Tage zu brauchen, um weitere Teile aufzur├Ąumen. Es gibt einige gro├čartige Engagements und die Beteiligung der Community, und alles hilft, es gibt einen eindeutigen Antrieb in die richtige Richtung.

Einige zus├Ątzliche allgemeine Neuigkeiten in dieser Woche - wir haben einen Praktikanten der Indian Institutes of Technology eingestellt, der sich auf Kryptographie konzentriert. Die Absicht ist, dass er n├Ąchste Woche anf├Ąngt und sofort damit beginnt, die Sicherheit in so viel Codebasis wie m├Âglich zu pr├╝fen, zu stupsen und allgemein zu ├╝berpr├╝fen. Wir werden diesen Aufwand in der n├Ąchsten kurzen Zeit erheblich steigern, wenn wir in den vollst├Ąndigen Startmodus gelangen.

Safe Client, Nodes und qp2p

Projektplan f├╝r sichere Netzwerk├╝bertragungen
Safe Client-Projektplan
Projektplan f├╝r sichere Netzwerkknoten

Belohnung

Die Arbeit mit Belohnungen wurde mit einer Vereinfachung des Abschnittsstarts in sn_node fortgesetzt, die nun die Mindestanzahl von Ältesten in der Sektion erfordert, bevor der verteilte Akteur - auch bekannt als Abschnittsakteur - instanziiert wird, der für die Abteilungsmittel verantwortlich ist.

Damit haben wir nun die Einleitung von Belohnungsauszahlungen erreicht. Der PR-Entwurf wurde in einen richtigen PR konvertiert und wird von einem Kunden P.O.V. vor dem Zusammenf├╝hren dieser Arbeit in Master, sobald die Tests bestanden sind.
Im Anschluss wird die Belohnungsauszahlung abgeschlossen. Zu diesem Zeitpunkt ist die Landwirtschaftsfunktion mehr oder weniger bereit, in ein Testnetz aufgenommen zu werden.

Community PRs

Wir haben diese Woche ein paar PRs zusammengef├╝hrt, @mav hat gesendet eine, die einige fehlende Client-Funktionen hinzuf├╝gt und eine weitere Verbesserung der Effizienz der sequence.in_range call.

Verbindung h├Ąngt

Wir haben letzte Woche das Debuggen unserer Verbindungsprobleme fortgesetzt und dort endlich die Hauptursache gefunden. Qp2p l├Âschte f├Ąlschlicherweise Verbindungen, die einen Fehler zur├╝ckgegeben hatten. In diesem Fall war der Fehler g├╝ltig und rechtfertigte nicht das L├Âschen der Verbindung aus dem Pool. Mit diesem Fix jetzt zusammengef├╝hrt sehen wir keine langen Zeit├╝berschreitungen mehr aufgrund verlorener Verbindungen, was sich gro├čartig anf├╝hlt: erleichtert :. Es geht das Ger├╝cht, dass @joshuef einen vollen Kopf hatte, bevor dieser Fehler auftrat!

Masterknoten / Client sind jetzt viel stabiler. Wir besch├Ąftigen uns noch mehrGelegentliche Fehler, die beim Speichern von Blobs auftreten, bei denen es so aussieht, als k├Ânnten wir den Blob und / oder die mit dem Blob verbundenen Metadaten nicht speichern.

Einfachere qp2p-API

Das j├╝ngste Problem mit der Verbindung in qp2p hat uns gezeigt, dass der Benutzer der API eine gro├če Verantwortung ├╝bernommen hat, z. B. das Aufrechterhalten von Verbindungen und das Festhalten an Listenern und Streams, ├╝ber die Nachrichten eingehen. Dies machte das Debuggen relativ komplex, da die Verbindungshandhabung Teil der Routing- und Client-Kisten war, die auf ihre eigene Weise mit zahlreichen Funktionen ausgestattet sind. Durch die Verlagerung der Wartung der Netzwerkkomponenten in die qp2p-Kiste k├Ânnen wir mehrere Szenarien isolieren und testen und sicherstellen, dass alle Verbindungen und Nachrichten korrekt verarbeitet werden. Dies vereinfacht letztendlich auch die qp2p-API und ist somit eine Win-Win-Situation. Wir haben diesen Refactor in qp2p als Proof-of-Concept gestartet, um eine einfache asynchrone API bereitzustellen, die Routing und Clients f├╝r die P2P-Kommunikation verwenden k├Ânnen.

API und CLI

Das Repo sn_api hat diese Woche viele Aktivit├Ąten von Community-Mitgliedern erfahren. Dies ist eine hervorragende Nachricht, insbesondere, weil diese Anwendungen alle Benutzer sind und daher umso mehr Input erhalten Von echten Endbenutzern k├Ânnen wir sie umso besser verbessern, noch besser, wenn die Eingabe tats├Ąchlicher Code ist!

@Latch arbeitet an einer neuen Funktion, mit der ein Befehl zum Zur├╝cksetzen in die CLI eingef├╝hrt werden kann, mit dem wir alle Daten und Konfigurationsdateien bereinigen k├Ânnen, die in den CLI-, sn_authd- und sn_node-Anwendungen lokal gespeichert sind, wobei die tats├Ąchlichen Anwendungsbin├Ąrdateien beibehalten werden unber├╝hrt. Wenn Sie daran interessiert sind, an den Diskussionen teilzunehmen und diese zu ├╝berpr├╝fen, besuchen Sie bitte: https://forum.safedev.org/t/wip-feat-cli-implements-safe-reset-subcommand/2939/6.

Einige von @mav an unsere API ├╝bermittelte Verbesserungen wurden ebenfalls zusammengef├╝hrt. Es gab einige Tippfehler in Fehlermeldungen, die behoben wurden sowie Hinzuf├╝gen Validierungen f├╝r NRS-Namen, um Schr├Ągstriche abzulehnen.

Einige Beispielanwendungen f├╝r ÔÇ×qjsonrpcÔÇť werden von @scorch(https://github.com/maidsafe/sn_api/pull/690) entwickelt, um Benutzern zu helfen, zu verstehen, wie die API ÔÇ×qjsonrpcÔÇť verwendet werden kann und wie Anwendungen JSON-RPC ben├Âtigen ├╝ber QUIC Protokoll kann erstellt werden. Einige Hintergrund- und Kontextinformationen sind in diesem Beitrag f├╝r alle, die mehr ├╝ber diese Bem├╝hungen erfahren m├Âchten, sehr detailliert.

Mit der Zusammenf├╝hrung von dieser PR kann die CLI nun auch den Kontostand ihres eigenen SafeKey ├╝berpr├╝fen, dh den Kontostand, der bei Autorisierung an sie ├╝bertragen wurde mit authd, das die CLI verwendet, um die Kosten aller von / mit ihr durchgef├╝hrten Operationen zu bezahlen. Durch Aufrufen von ÔÇ×$ safe keys balanceÔÇť ohne Angabe eines geheimen Schl├╝ssels wird nun standardm├Ą├čig das aktuelle Guthaben des Schl├╝sselpaars / SafeKey der CLI ├╝berpr├╝ft.

Neue Versionen von sn_authd (v0.0.15), CLI (v0.17.2) und sn_node (v0.25.39) wurden f├╝r diejenigen ver├Âffentlicht, die lokal mit ihnen gespielt haben. Da die CLI- und authd-Bin├Ąrdateien jetzt mit MUSL f├╝r Linux-Plattformen erstellt werden, stellen Sie unter Linux sicher, dass Sie sie installieren, anstatt zu versuchen, sie mit dem zu aktualisieren CLI finden Sie vollst├Ąndig Anweisungen zur Installation im CLI-Benutzerhandbuch.

BRB - Byzantinische zuverl├Ąssige Sendung

Diese Woche haben wir einige von BRB DataTypes zur├╝ckgegebene Validierungsfehler korrigiert und allen BRB-Kisten ausf├╝hrliche Dokumentkommentare hinzugef├╝gt. Diese ├änderungen sollten es jedem erleichtern, der die Bibliotheken nutzen m├Âchte.

Es gab einige Designdiskussionen ├╝ber die Integration der BLS Distributed Key Generation (DKG) in BRB. Die Hoffnung war, dass die DKG die dynamischen Mitgliedschaftsoperationen der BRB (Beitritt / Austritt) in gewisser Weise huckepack nehmen k├Ânnte. Letztendlich haben wir jedoch festgestellt, dass dies nicht funktioniert, da die DKG eine 100% ige Beteiligung erfordert und nach der Einrichtung der BRB-Abstimmungsgruppe als separater Prozess stattfinden muss.

Routing

Projektplan

Diese Woche verlief im Hinblick auf die tats├Ąchlichen Code├Ąnderungen im Routing gr├Â├čtenteils ruhig, da ein Teil des Teams mit der Er├Ârterung der BRB / DKG-Algorithmen besch├Ąftigt war und der andere Teil dabei half, die Probleme mit Clientverbindungs-Hangs aufzusp├╝ren. Wir haben auch die Arbeit zur Verbesserung der Fehlerbehandlung ausgesetzt, da wir entschieden haben, dass es dringendere Probleme gibt, die zuerst angegangen werden m├╝ssen.

Wir haben jedoch eine kleine PR zusammengef├╝hrt, die die Ereignisbehandlung verbessert. Wir hatten separate Ereignisse, wenn sich die Abteilungs├Ąltesten ├Ąndern und wenn der aktuelle Knoten bef├Ârdert oder herabgestuft wird. Es stellte sich heraus, dass diese Dinge zur gleichen Zeit passieren und die getrennte Behandlung der Ereignisse in den oberen Schichten einige Verwirrung dar├╝ber verursachte, in welcher Reihenfolge sie behandelt werden sollten. Wir haben das Problem gel├Âst, indem wir diese Ereignisse zu einem einzigen Ereignis zusammengef├╝hrt haben, um die Verwirrung zu beseitigen.

W.Au├čerdem wurde Arbeit zur Vereinheitlichung der Bootstrap-Behandlung ├╝ber Knoten und Clients hinweg gestartet. Es stellt sich heraus, dass die Logik zum Bootstrap genau dieselbe ist, sie wurde jedoch auf zwei leicht unterschiedliche Arten an zwei verschiedenen Stellen implementiert. Diese Arbeit entfernt diese Duplizierung, was zu einfacherem Code f├╝hrt. Wir erwarten, es Anfang n├Ąchster Woche zu beenden.

N├╝tzliche Links


F├╝hlen Sie sich frei, unten mit Links zu ├ťbersetzungen dieses Entwickler-Updates 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!

1 Like