Februar 1, 2019

Trinity Update: 1. Februar

Letzte Woche haben wir Trinity Mobile 0.6.0 Beta veröffentlicht. Dies war ein erheblicher Fortschritt für die mobile Version, einschließlich einiger erheblicher Änderungen und Verbesserungen.

Trinity Update: 1. Februar

Letzte Woche haben wir Trinity Mobile 0.6.0 Beta veröffentlicht. Dies war ein erheblicher Fortschritt für die mobile Version, einschließlich einiger erheblicher Änderungen und Verbesserungen.

Durch das Hinzufügen eines Node-Quorums wird die Sicherheit des Wallets beim Verbinden mit dem Tangle erheblich verbessert, da ein Konsens zwischen mehreren Nodes erforderlich ist, bevor eine Antwort als gültig betrachtet wird. Die mobile Benutzeroberfläche wurde außerdem einer vollständigen Überarbeitung der Benutzeroberfläche mit aktualisierten Modalen, ausgefallenen Animationen und Verbesserungen unterzogen. Treten Sie der Beta Testphase bei und probieren Sie es hier selbst aus.

Im letzten Update haben wir angekündigt, Trinity Mobile und Desktop für ein zweites Audit einzureichen. Die Apps werden von einer führenden Sicherheitsfirma überprüft, um sicherzustellen, dass sie bei vollständiger Freigabe so sicher wie möglich sind. Dementsprechend konzentrierte sich die Arbeit hauptsächlich auf die Vorbereitung dieser Prüfung. Das bedeutet, dass wir unsere Sicherheitsfunktionen, Kernlogik und Speichermethoden überprüfen. Natürlich können die kosmetischen Änderungen warten, aber die Kernfunktionen müssen einsatzbereit sein.

Eine wichtige Funktion, an der wir seit einiger Zeit arbeiten, ist das Portieren von Speicher in die Realm-Datenbank. Dies hat einige Vorteile gegenüber dem zuvor verwendeten AsyncStorage. Realm ermöglicht nämlich eine verbesserte Leistung, Stabilität und Skalierbarkeit. Mit der Einführung von Local Snapshots sind Benutzer zunehmend auf ihrem lokalen Zustand angewiesen. Wenn Sie eine Node nach früheren Transaktionsinformationen abfragen, besteht die Chance, dass diese Informationen nicht mehr gespeichert werden. Realm ermöglicht uns die Implementierung einer bequemen Methode zum Importieren und Exportieren des Status, so dass die Benutzer den vollständigen Transaktionsverlauf ihres Seeds beim Übergang zwischen Geräten beibehalten können. Realm hat auch Vorteile für den Datenschutz - durch staatliche Verschlüsselung. Aufgrund der inhärenten Struktur des Tangle ist es äußerst schwierig, die Adressen eines einzelnen Benutzers zusammenzusetzen. Wenn Ihr Wallet-Status jedoch unverschlüsselt bleibt, werden Sie zu einem potenziellen Ziel für Angreifer. Durch die Nutzung von Realm können wir den Transaktionsverlauf der Benutzer verschlüsseln - sowohl auf dem Gerät als auch später in den Statussicherungen, wenn der Statusimport / -export hinzugefügt wird.

Die App-Leistung war in den letzten Wochen ein bedeutender Fokus. Innerhalb von React Native läuft reines JavaScript auf einer Umgebung mit nur einem Thread. Dort sind schwere Arbeiten auf demselben Thread wie die UI-Komponenten. Wir sind uns einiger Engpässe bewusst, die insbesondere schwächere Android-Geräte betreffen können. Es ist daher sinnvoll, alle Schwerlastanwendungen nativ zu verschieben und dabei auf einem separaten Thread auszuführen. Dementsprechend arbeiten wir daran, die Signaturerstellung nativ zu verschieben und Proof-of-Work-Anforderungen zu stapeln (wobei derzeit PoW in Reihe ausgeführt wird und die Trytes jeder Transaktion nach und nach über die JS-Bridge geleitet werden). Günstig können wir hier auf das C-basierte Monorepo entangled der IOTA Foundation zurückgreifen. Die längerfristigen Pläne bestehen darin, die gesamte Transaktionslogik nach und nach zu verschieben, um möglichst viel des Haupt-js-Threads freizugeben und eine reibungslosere Benutzererfahrung zu erzielen. Mit Blick auf Trinity V2 und mit der zukünftigen Version der aktualisierten Client-Bibliotheken wird dies zu einem Bereich mit zunehmendem Fokus.

Neben Sicherheits- und Leistungserwägungen haben wir auch daran gearbeitet, die Testabdeckung zu erhöhen. Wir haben hauptsächlich Komponententests für Desktop-UI-Komponenten und native Wrapper für Bibliotheken hinzugefügt. Wir werden außerdem Integrationstests für die IOTA-Protokollfunktionalität hinzufügen, bevor wir die Builds zur Prüfung einreichen. Diese Tests stellen nicht nur weniger Fehler sicher, sondern verbessern auch den gesamten Workflow des Trinity-Projekts, wenn wir mit der V2-Entwicklung beginnen.

Wenn Sie daran interessiert sind, den Fortschritt von Trinity zu verfolgen, können Sie dies tun, indem Sie das Repo überwachen oder unserem Discord-Server beitreten.

Wir möchten auch unseren Community-Mitgliedern delki8, Thoralf, Marco Geier, W1ndChaser und carlosfromnewyork-heyheyhey für ihre jüngsten Beiträge zu diesem Projekt danken.


Hier sind einige der kürzlich abgeschlossenen oder in Arbeit befindlichen PRs:

Desktop:

  • [WIP] Einheitentestabdeckung hinzufügen (# 994)
  • [WIP] Realm-Migrationskomponente erstellen (# 857)

Smartphone:

  • Mobile Version 0.6.0 Veröffentlichung (# 983)
  • iOS Zoom-Berechnung korrigieren (# 995)
  • Behebung von Problemen mit Dimensionen in Bezug auf die Statusleiste (# 980)
  • Korrekturen für Android-Builds (# 969)
  • Fehler beim Modal Rerendering behoben (# 959)

Geteilt:

  • [WIP] Realm-Datenbank implementieren und Status verschlüsseln (# 375)
  • Nicht reagierende Nodes aus der Liste der Standardnodes entfernen (# 970)
  • Auszeit für attachToTangle-Netzwerkanfragen erhöhen (# 980, # 982)

Quelle: https://blog.iota.org/trinity-update-feb-1st-3ff37d04afad