SAFE Network Entwickler Update :deutschland: 02. Juli 2020

Zusammenfassung

Hier sind einige der wichtigsten Dinge, die seit dem letzten Entwickler-Update hervorzuheben sind:

  • v0.4.0 des Pakets MaidSafe.SafeApp NuGet wurde veröffentlicht, wodurch die C#-APIs mit safe-api synchronisiert wurden.
  • Wir haben eine 1.0 Version des xor-name Repoitory’s veröffentlicht, welches kürzlich aus dem Routing. extrahiert wurde.
  • Das Sequence CRDT gilt nun als bereit für die Aufnahme in die nächste Iteration des vaults-from-home testnet.
  • Nach einer weiteren Woche großer Fortschritte sind wir einer integrierten AT2-Implementierung zwischen SCL und Vault sehr viel näher gekommen.
  • Einige weitere Aktualisierungen und Details der SAFE Network App UX werden über Figma.*
  • Unterstützung für das Speichern von Private Sequence wurde hinzugefügt und das Anhängen von Daten daran unter Verwendung der API und der CLI. Dies wird in der nächsten Version verfügbar sein.

Vaults Phase 2

Projektplan

Wir haben Fortschritte bei einer Reihe von Verbesserungen in den Vaults gemacht. Die Einführung der Signaturakkumulation in Vaults (die zuvor intern durch Routing erfolgte) hat den von der Vault-Binärdatei genutzten Speicherplatz reduziert, da sie nun von der Sektion genehmigte Anfragen direkt validieren kann. Wir haben bereits gute Ergebnisse mit einem Bare-Bone-Signatur-Akkumulator gesehen, der letzte Woche eingeführt wurde. Wir haben diesen nun migriert, um einen generischen Signatur-Akkumulator zu verwenden, der durch Routing offengelegt wird. Es gibt ein paar fehlgeschlagene Tests, die behoben werden müssen, bevor dieses Update in Angriff genommen werden kann.

Wir nehmen auch einige Änderungen an der Testsuite in Vaults vor, um die kontinuierliche Integration und das Testen mit der realen Version von Routing zu ermöglichen, anstatt die Mock-Version zu verwenden. Dadurch erhalten wir eine realistischere Messung der Leistung im Vergleich zu den Tests, die in einer nachgeahmten Umgebung durchgeführt werden, was während der Entwicklungsiterationen nützlich ist. Diese Verlagerung weg vom Testen von Mocks und hin zum Testen von Seriencode haben wir diese Woche als Team diskutiert - dies ist eine Strategie, die wir, wo immer möglich und praktikabel, in allen unseren Repositories anwenden wollen.

SAFE-Network App UX

SAFE Network App: Screens, Flows und Feature Tracker (Figma)

Ein kurzes Update, aber genug zum Anschauen: Wir haben der Figma-Datei weitere Bildschirme und Details hinzugefügt. Ihr werdet Details auf den Settings Screens bemerken, wir haben den Invite creation process umgestaltet und wir haben auch die Security options während des Einstiegs hinzugefügt.

SAFE API

Projektplan

Die experimentelle Glob-Unterstützung, wie im Update der letzten Woche besprochen, wurde diese Woche eingeführt, obwohl noch einige abschließende Integrationstestfälle geschrieben werden müssen, bevor eine PR eingereicht werden kann.

Wir haben auch ein seltsames Verhalten bei Symlinks auf der Windows-CI bemerkt, das eine weitere Untersuchung verdiente - es stellte sich heraus, dass wir durch den Reifen der Konfiguration von Git für Symlinks auf Windows-CI-Boxen springen mussten. Sie können ein bisschen mehr über die Ergebnisse von @danda lesen, wenn Sie sich hier hier informieren.

In den letzten Tagen konnten wir auch Unterstützung für die Speicherung von Private Sequence und das Anhängen von Daten über die API und die CLI hinzufügen. Zum Beispiel kann eine neue Private Sequenz im Netzwerk mit $ safe seq store "my private note" --private gespeichert werden, der Befehl für das Anhängen an diese Sequenz ist genau der gleiche wie der für das Anhängen an eine Public Sequence . Wir haben das CLI-Benutzerhandbuch mit einem Beispiel dafür aktualisiert.

SAFE-App C#

Projektplan

Wir haben eine neue Version des MaidSafe.SafeApp NuGet-Pakets veröffentlicht, um die C#-APIs mit safe-api zu synchronisieren. Das aktualisierte Paket liefert einige neue APIs (create/get/append) für die Arbeit mit Sequenzdaten-APIs und enthält eine Symlink-Auflösungsoption in den Datei-APIs. Lesen Sie die Datei changelog , um sich über alle neuen Funktionen/Erweiterungen zu informieren.

CRDT

Letzte Woche haben wir die Implementierung des Sequenz-CRDT abgeschlossen, so dass wir es in den letzten Tagen mit E2E-Tests auf Herz und Nieren geprüft haben. Alles sieht gut aus, so dass es nun als bereit für eine erste Veröffentlichung angesehen wird, so dass die Community anfangen kann, mit ihm zu spielen. Dies wird Teil der allerletzten Iteration des vaults-from-home testnet sein.

Wir haben begonnen, die Optionen zu prüfen, die wir für die Migration des bestehenden MutableData-Typs nach CRDT haben, von dem erwartet wird, dass er nicht nur private Daten unterstützt, sondern auch eine öffentliche Version davon, die mit dem derzeitigen MutableData-Typ nicht verfügbar war. Dies wird weiterhin ein Datentyp mit Schlüsselwert sein, aber als CRDT implementiert. Viel mehr haben wir zu diesem Zeitpunkt nicht mitzuteilen, aber wir werden Sie auf dem Laufenden halten, während wir voranschreiten.

Transfers

SAFE-Transfers Projektplan
SAFE Client Libs-Projektplan
SAFE Vault-Projektplan

Diese Woche haben wir daran gearbeitet, den Vault-Code und die SAFE-Client-Libs miteinander zu synchronisieren. Dabei haben wir einige Fehler aufgedeckt und behoben (im Zusammenhang mit dem Abschnitt PublicKey-Handhabung in Vaults und einigen Fehlern im Zusammenhang mit Safe-Transfers), und wir haben dem jeweiligen Repository dafür weitere Tests hinzugefügt. Replikate werden nun die SectionProofChain (eine Kette alter PublicKeys einer Sektion) aus dem Routing verwenden, um Übertragungen zu validieren, die mit einem früheren Sektionsschlüssel signiert wurden. Wir haben auch den Code auf den neuesten und wichtigsten Repo-Code umbasiert und den Code der SAFE Client Libs in etwas umgestaltet, das viel leichter zu verdauen ist.

Es müssen noch einige kleine Probleme geklärt werden, aber es hat den Anschein, dass wir einer integrierten AT2-Implementierung zwischen SCL und Vault sehr viel näher gekommen sind.

Nachdem wir ein paar verschiedene Alternativen für den Zahlungsfluss evaluiert haben, haben wir uns für eine entschieden und begonnen, die Anfrage-Struktur so anzupassen, dass sie unterstützt wird. Dies ermöglicht eine bessere Kategorisierung der Anfragetypen, wodurch klarer wird, wann, wo und wofür eine Zahlung bearbeitet werden soll. (Im weiteren Verlauf gibt es auch eine Bereinigung der Anfragetypen, da wir Typen haben, die auf der Netzwerkseite nicht implementiert werden müssen). Nachdem dies eingerichtet ist, können wir die Arbeit an dem verteilten AT2-Akteur fortsetzen, der von einer Sektion betrieben wird, was es dann ermöglicht, das safe-farming -Repo in safe-vault zu integrieren, und das Verdienen von Belohnungen kann in ein Testnet aufgenommen werden.

Routing

Projektplan

Diese Woche fusionierten wir den neuen „SignatureAccumulator“, nachdem wir einige zusätzliche Anforderungen des Vault-Teams, das ihn ursprünglich angefordert hatte, angesprochen hatten. Wir hackten auch einige Aufgaben von der großen Parsec entfernen Liste ab, bei denen es hauptsächlich darum ging, einige nicht mehr benötigte Komponenten zu entfernen

Die Arbeit an der DKG-Ersetzung ist wegen einiger unvorhergesehener Komplikationen noch nicht abgeschlossen. Aber es scheint, als seien jetzt alle Testfehler behoben und die meisten Überprüfungspunkte angesprochen worden, so dass es nicht mehr lange dauern dürfte, bis sie zusammengeführt werden.

Wir haben auch einige Änderungen am internen „Message“-Typ vorgenommen, um ihn unveränderlich und konstruktiv korrekt zu machen, was den Code hoffentlich widerstandsfähiger gegen versehentlichen Missbrauch machen sollte.

Dann haben wir ein ziemlich peinliches Problem behoben, bei dem die Testsuite hängen blieb, wenn sie ohne irgendwelche Feature-Flags ausgeführt wurde. Dies blieb lange Zeit unbemerkt, weil wir die Tests immer mit der „Mock“-Flagge ausführen. Dies kam in einer Diskussion über die Rolle des Mockens in unseren Tests zur Sprache, wobei man sich in der Resolution darauf einigte, dass wir versuchen sollten, weniger davon zu verwenden, um unser Vertrauen in die Tests zu stärken.

Schließlich veröffentlichten wir eine 1.0 Version des xor-name Repositories, welches vor zwei Wochen aus dem Routing extrahiert wurde, nachdem wir sie ein wenig aufpoliert hatten (https://github.com/maidsafe/xor-name/pull/37). Wir haben das Repository sogar no-std-konform gemacht, was bedeutet, dass es jetzt in der größtmöglichen Anzahl von Umgebungen und Plattformen verwendet werden kann, einschließlich einiger sehr eingeschränkter eingebetteter Geräte.

Nützliche Links

2 Like