Erste MultiChain 2.0-Vorschau

Quellknoten: 1740447

MultiChain-Streams auf ein ganz neues Niveau bringen

Heute freuen wir uns, die erste Vorschau-Version von MultiChain 2.0 zu veröffentlichen, die einen wesentlichen Teil von implementiert MultiChain 2.0 Roadmap Anfang dieses Jahres veröffentlicht - ein umfangreicheres Datenmodell für Streams.

Streams haben sich in MultiChain als beliebtes Feature erwiesen und bieten eine natürliche Abstraktion für das Speichern und Abrufen allgemeiner Daten in einer Blockchain. Eine MultiChain-Kette kann eine beliebige Anzahl benannter Streams enthalten, von denen jeder über individuelle Schreibberechtigungen verfügen oder für alle zum Schreiben geöffnet sein kann. In MultiChain 1.0 verfügt jedes Stream-Element über einen oder mehrere Herausgeber (die es signieren), einen optionalen Schlüssel zum effizienten Abrufen, eine Nutzlast für binäre Daten mit einer Größe von bis zu 64 MB und einen Zeitstempel, der von dem Block abgeleitet ist, in den es eingebettet ist.

Diese Vorschau-Version von MultiChain 2.0 mit der Nummer Alpha 1 bringt die Funktionalität von Streams auf ein völlig neues Niveau:

  • JSON-Elemente. Als optionale Alternative zu binären Rohdaten können Stream-Elemente jetzt eine beliebige JSON-Struktur enthalten, die in der Blockchain im effizienten Bereich gespeichert ist UBJSON Serialisierungsformat. Da die MultiChain-API bereits JSON verwendet, können diese JSON-Strukturen auf natürliche und offensichtliche Weise gelesen und geschrieben werden.
  • Textelemente. Stream-Elemente können auch Unicode-Text enthalten, der in UTF-8-Codierung effizient in der Blockchain gespeichert wird. Textelemente können auch direkt über die MultiChain-API gelesen und geschrieben werden.
  • Mehrere Schlüssel. Jedes Stream-Element kann jetzt mehrere Schlüssel anstelle von nur einem haben. Dies ermöglicht viel flexiblere Schemata zum Markieren, Indizieren und Abrufen.
  • Mehrere Artikel pro Transaktion. In einer einzigen atomaren Transaktion können jetzt mehrere Elemente in denselben Stream geschrieben werden. Auf diese Weise können mehrere Stream-Elemente: (a) auf natürliche Weise unter einer einzigen Transaktions-ID zusammengefasst werden, (b) weniger Platz in der Blockchain beanspruchen und (c) weniger Signaturüberprüfungen erfordern.
  • JSON-Zusammenführung. Es gibt neue APIs, um die Elemente in einem Stream mit einem bestimmten Schlüssel oder Herausgeber zusammenzufassen. Die erste angebotene Zusammenfassung ist eine Zusammenführung aller JSON-Objekte in diesen Elementen. Das Ergebnis der Zusammenführung ist ein neues Objekt, das alle JSON-Schlüssel der einzelnen Objekte enthält, wobei der Wert, der jedem JSON-Schlüssel entspricht, dem letzten Element entnommen wird, in dem dieser Schlüssel angezeigt wird. Die Zusammenführung kann auf verschiedene Arten angepasst werden, z. B. um zu steuern, ob Unterobjekte rekursiv zusammengeführt werden und ob Nullwerte enthalten sein sollen.

Der Zweck der JSON-Zusammenführung besteht darin, einem Stream die Möglichkeit zu geben, als flexible Datenbank für auf MultiChain basierende Anwendungen zu dienen, wobei der Stream-Schlüssel oder Herausgeber (je nach Bedarf) als „Primärschlüssel“ für jeden Datenbankeintrag fungiert. Der Vorteil gegenüber einer regulären Datenbank besteht darin, dass der Stream einen vollständig signierten und zeitgestempelten Verlauf enthält, wie jeder Eintrag im Laufe der Zeit geändert wurde, wobei die Blockchain diesen Verlauf durch Mehrparteienkonsens unveränderlich sichert.

Wie in früheren Versionen kann jeder Knoten frei entscheiden, welche Streams abonniert werden sollen, oder er kann alle Streams automatisch abonnieren. Wenn ein Knoten einen Stream abonniert hat, indiziert er den Inhalt dieses Streams in Echtzeit und ermöglicht so ein effizientes Abrufen nach Herausgeber, Schlüssel, Block, Zeitstempel oder Position - und jetzt eine Zusammenfassung nach Schlüssel oder Herausgeber.

Neben Stream-Elementen unterstützt MultiChain 2.0 alpha 1 auch JSON und Text in Rohtransaktionsmetadaten als Alternative zu den in MultiChain 1.0 unterstützten Rohdaten.

Schließlich können in dieser Version die benutzerdefinierten Felder der ausgegebenen Assets und erstellten Streams anstelle der in MultiChain 1.0 angebotenen Nur-Text-Schlüssel / Wert-Paare ein beliebiges JSON-Objekt enthalten. Aus Gründen der Vorwärtskompatibilität bietet MultiChain 1.0.2 die Möglichkeit, diese umfangreicheren Asset- und Stream-benutzerdefinierten Felder zu lesen (aber nicht zu schreiben).

Um diese neuen Funktionen auszuprobieren, besuchen Sie die MultiChain 2.0-Vorschauversionen Seite und laden Sie Alpha 1 herunter. Die Seite enthält auch eine detaillierte Dokumentation zu den neuen verfügbaren APIs und Parametern.

Wir würden es lieben zu Hören Sie Ihr Feedback auf diese neue Funktionalität. Und natürlich arbeiten wir bereits intensiv an den nächsten wichtigen Verbesserungen für MultiChain 2.0, die Anfang nächsten Jahres veröffentlicht werden sollen.

Bitte posten Sie Kommentare auf LinkedIn.

Zeitstempel:

Mehr von Multikette