Safe Network Entwickler Update 🇩🇪 8. Dezember 2022

Dies ist eine maschinelle Ăśbersetzung. Das Original in Englisch ist hier: Update 8 December, 2022

Es ist Testnet-Zeit! Ja, Leute – es ist an der Zeit, diese Terminals abzustauben und diese Clients wieder hochzufahren, Testnetze sind zurück in der Stadt. Wir erwarten nicht, dass dieser perfekt ist, und es gibt ein paar Probleme, an denen wir mit der Kommunikation zwischen Klienten und Ältesten arbeiten, aber wir würden Ihre Hilfe beim Testen einiger Dinge, einschließlich Datenaufbewahrung und Zeitüberschreitungen, sehr schätzen. Um Komplikationen zu vermeiden, haben wir die Funktion zum Aufteilen von Abschnitten vorerst entfernt, sodass wir einen großen Abschnitt testen. @joshuef erklärt weiter unten mehr.

Allgemeiner Fortschritt

Das gesamte Team hat in der vergangenen Woche daran gearbeitet, das Testnetz zum Laufen zu bringen, aber natĂĽrlich gehen im Hintergrund andere Arbeiten weiter.

@bochaco hat sich mit einem Client-Verbindungs-/Wiederverbindungsproblem befasst, bei dem Nachrichten scheinbar verloren gehen. Es kann sich um ein Quinn/qp2p-Problem handeln, aber es ist weiteres Graben erforderlich. Hoffentlich wird dies für das nächste Testnetz behoben.

In der Zwischenzeit hat @roland an der Implementierung des SectionTree gearbeitet, der Aufzeichnung aller AbschnittsschlĂĽssel zurĂĽck zur Genesis, die beweist, dass Benutzer auf dem sind richtiges Netzwerk.

Die Implementierung des ABBA-Konsensprotokolls schreitet ebenfalls voran, wobei Mostafa und @davidrusu einige letzte Änderungen vornehmen. Nach der Implementierung besteht der nächste Schritt darin, VCBC mit ABBA zu integrieren, um zum vollständigen MVBA-Konsensprotokoll (Multi-Value Byzantine Agreement) zu gelangen.

@oetyng hat ein paar Operationen aufgeräumt, einschließlich wie wir Speicherung bei Erwachsenen melden (eine PR, die auch den Weg ebnet, um zu vermeiden, dass Nodes jemals voll werden ), und @chriso untersucht die Weiterleitungsknotenprotokolle für ELK, den wichtigsten Observability-Stack, den wir verwenden, um zu überwachen, was auf Knotenebene passiert.

Ein neues Testnetz

Wie wir im letzten Update erwähnt haben, sind wir schon eine Weile in den Gräben, fangen aber jetzt an, die Dinge wieder ganzheitlich zu betrachten. Und wir wollen die Community so weit wie möglich einbeziehen.

Wir haben also ein 25-Knoten-Testnetz eingerichtet. Jeder Knoten hat 50 GB Speicherplatz. Wir zielen darauf ab:

  1. Stellen Sie sicher, dass wir keine Daten verlieren, bis die Knoten voll sind. (Wir arbeiten daran, wie wir mit vollen Knoten umgehen können). Bis dahin haben unsere aktuellen Tests gezeigt, dass Daten ziemlich glücklich bleiben, solange wir keine Knoten füllen. (Volle Knoten kündigen also das Ende dieses Laufs an).
  2. Keine Knoten beitreten lassen. Wir haben dies in den Knoten selbst beschränkt, um eine Testnet-Variable zu entfernen. (Wir sind uns auch bewusst – und haben eine ausstehende Lösung für – einige AE-Probleme nach der Trennung, also wollen wir jetzt nicht darauf eingehen).
  3. Erhalten Sie bestimmte ZeitĂĽberschreitungen besser im Griff. Ă„ltester -> Bidirektionale KommunikationszeitĂĽberschreitung fĂĽr Erwachsene nach 7s gerade eben. Client->Elder in 45s. Wir wollen sehen, wie relevant diese Werte unter Last sind.

Einbezogen werden

Wie oben erwähnt, versuchen wir gerade nicht, Node-Joins zu überprüfen, da wir einen Blocker-Post-Split haben, den wir mehr testen müssen, bevor wir den Fix einfügen können.

Daher werden wir nur „sichere“ Client- und PUT/GET-Daten überprüfen. Wir bitten die Leute, nicht mehr als 10 MB auf einmal hochzuladen, um zu sehen, wie die Dinge dort laufen.

Leider haben wir noch keine vollständige Veröffentlichung. (Wir ändern unseren Testablauf, um alle PRs zu überprüfen, die jetzt in ihrem eigenen Testnet in main gehen; sobald das drin ist, sollten Veröffentlichungen von „main“ viel reibungsloser sein). Also haben wir manuell eine erstellt und „sichere“ Binärdateien hier hochgeladen:

Hinweis: macOS führt die Binärdatei nicht aus, da es den Entwickler nicht verifizieren kann. Um dies zu umgehen, führen Sie xattr -d com.apple.quarantine ./safe aus. Stellen Sie dann sicher, dass es mit chmod +x ./safe ausgeführt werden kann. Dann kann die CLI mit ./safe ausgeführt werden.

Um mitzumachen:

  • ~/.safe entfernen
  • Laden Sie Ihren relevanten „sicheren“ Ordner aus der Version herunter und speichern Sie ihn unter „/usr/local/bin“ auf Mac/Linux oder „%USERPROFILE%.\safe\cli“ unter Windows.
    • Hinweis fĂĽr Windows-Benutzer - Sie möchten vielleicht das obige bin-Verzeichnis zu PATH hinzufĂĽgen, alternativ können Sie ./safe verwenden, wenn Sie aus dem Verzeichnis fĂĽr alle fortschreitenden safe-Befehle ausgefĂĽhrt werden.
  • FĂĽhren Sie safe --version aus, um sicherzustellen, dass Sie die richtige Version (0.67.0 der CLI) verwenden.
  • FĂĽhren Sie „sichere Netzwerke hinzufĂĽgen wild-testnet https://sn-node.s3.eu-west-2.amazonaws.com/testnet_tool/main/network-contacts“ aus
  • sichere Netzwerke wechseln wild-testnet

Und du solltest startklar sein :tada: :bier:

Beispiel: Laden Sie eine Datei hoch

Am einfachsten können wir eine Datei mit dem Befehl „files put“ hochladen:

$ sichere Dateien legen ./to-upload/file1.txt ab
DateienContainer erstellt unter: „safe://hyryyryynamznbfsgn7ccfquqmx6y8yzhq6tn7uzz775hrkyj4g8ipcy3ke6yeuy?v=h9jxxwwpy1cwf3pnb86ahkfk5ju8eb3miegnuehc99f5r5x83d9go“
+ ./to-upload/file1.txt safe://hy8oycyyb7jfqswhktzn9ahhk1hnz53dhfnrfp6h34emgrmjzggro75eikpoy

Dadurch wird ein Container mit einer einzelnen Datei erstellt. Die hier zugewiesenen „safe://“-URLs beziehen sich auf den Container bzw. die Datei. Das bedeutet, dass die Datei entweder über safe://hyryyryynamznbfsgn7ccfquqmx6y8yzhq6tn7uzz775hrkyj4g8ipcy3ke6yeuy/file1.txt oder ihre direkte URL adressierbar ist.

Weitere Informationen zum Hochladen von Dateien finden Sie in den CLI-Dokumenten.

Was hilfreich ist und Probleme melden

Uploads klein halten. < 10 MB / Datei.
Es wurde ein vorübergehendes Limit hinzugefügt, und Sie erhalten eine Fehlermeldung, wenn Sie 10 MiB überschreiten. Der Fehler ist derzeit nicht informativ, aber Sie werden anhand der Größe erkennen, dass er auf das Überschreiten dieser temporären Dateigrößenbeschränkung zurückzuführen ist.

Möglicherweise sehen Sie Probleme mit dem Cmd Ack Validation Timeout (unsere Timeouts müssen besser eingestellt werden, siehe oben). Dies bedeutet, dass das Netzwerk wahrscheinlich unter Last steht, also versuchen Sie es in ein paar Minuten noch einmal. Ihre Daten wurden möglicherweise gespeichert, nur nicht so schnell, wie wir es jetzt erwarten.

Wenn Sie ständig Probleme beim PUTting von Daten oder beim Abrufen von Daten sehen, haben Sie PUT. Bitte führen Sie Ihren Befehl mit dem Präfix „RUST_LOG=sn_client“ aus (zumindest auf Ubuntu/Mac). Die Ausgabe dort und gesendete/fehlgeschlagene MsgIds sind der Schlüssel zum Debuggen.


Wir werden versuchen, gespeicherte Datengrößen an den Knoten während des Vorgangs zu melden, damit wir sehen können, ob es eine Korrelation zwischen Kapazität und Zuverlässigkeit gibt.


Das Netzwerk basiert auf einem etwas weniger zuverlässigen (in Bezug auf die Client-Konnektivität) Testnetz, das wir die ganze Woche über hatten. Die Datenaufbewahrung war dort in Ordnung, also :crossed_fingers: hoffentlich wird das hier fortgesetzt (oder ein Fehler wird hervorgehoben :muscle: )

Das meiste davon sind Junk-Testdaten, aber es gibt einen kleinen Satz von JPGs, die unter den folgenden xorurls für alle hochgeladen werden, die Daten abrufen möchten (z.

Dies verwenden wir gerade, um die Datenspeicherung zu ĂĽberprĂĽfen.

sicher://hygoygym7tsj5hhyyykd1aqpw3djxea6om6xku568ahm7hy7gfn6q5gy7xr
safe://hygoygym19bdbzg6jakfzkmacxurpkbuphgsxi6af3aecugfqjfaq66shww
safe://hygoygyq1xiofs8kx11jwkcguzuocd1xa5qp767bjjz39yrh44eo1mjkjch
sicher://hygoygypnrqirzo7r5w464mnda8s6sdpatyrco5pda1w8nh5appa3ycb98h
sicher://hygoygykajkeropyam6yihj9exdhn5o4b1pbjbeet4bazqo8m47ga3pw8mo
sicher://hy8ayqyjy9obx5kr5g9f1r95hshhfswt7yqh6cy9t34sap7zqid4ox7ucuo
sicher://hygoygyp8c1wy7ijrpnesz9cj7enf4ms9oxhmp5m4r4yw4pjcemgywekf9r
sicher://hygoygye13iznm1yxzpxp9seh6j8weh84c5ib3fq9mxozz4h6hb95o3uduo
sicher://hygoygycc11b4pmrcb97ro6ro3wxh3cfrgi7ctbiwyya8mkktq1j35ysmzh
sicher://hygoygykzkguckqygm985f5jrhcw87wiskbc97bottab47tq6fm9zm85f7r
safe://hygoygyewnaj8o7za3qycccfy95o5j9gex6s3b8jygr9j48aiyzthc36ffo
safe://hygoygykime3s7rup1ezeiqeqo1zy1o4bqmckewhriun889c64n4umxcyih
safe://hygoygyc98c1ozh1cn9edxeworctuagt465zyybr61m8judfry4a4zycf8c
safe://hygoygyqcq8bift7urnftiqxzn7d877ckwtk85haawg7oigm3bhn3r1dx7e
sicher://hygoygyk7dzmcqxm3q4np87unu6tb9d8qt44fowxgqrhjy1xs6xgt69hade
sicher://hygoygymq98z86j1oagpctmg7pnixz94ckekpgytu1jkb45du8xw49qrr4w
sicher://hygoygypoq7y31uedr7c6q6e3jaxhd94id3r8bwn7od3f79hgdj7xbqibjr
sicher://hygoygykw8iw7wt9o3c7w36hi5xc1coyjdmdfm6dima3y9ehefxipxkwg3w
sicher://hygoygyc67ozi6m9i9o8xq5wti7ysa4g6nodxetmdgw64g5pw1qmucheeac
sicher://hygoygyqsxzn4p6mjx7ggj98pqc4he53xk1c54kw3hq1967n4yga1nbo3iw
safe://hygoygyxojetcr5553xfyjnfoh3ywge7grs8d7z66e8nf678stecagdkomw
safe://hygoygyqf4au3yf7ouyi7imu1hty5qrsjppy1mj5uba5tahnxkmocys5g7h
sicher://hygoygyx41a9samc35ep6h7y6zwku5ess3377f8awtuwn44r1pc5w3ragky
sicher://hygoygyej97u6irwmgq1od4s8m6h8epbkgmmwqtghhhy1hbcsntizpjmh3c
safe://hygoygypn9urw4mhoqfabnke71e8usekjeg8m54t1fkoeigdyr5srgsqoia

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!