Pierwsza wersja zapoznawcza MultiChain 2.0

Węzeł źródłowy: 1740447

Przenoszenie strumieni MultiChain na zupełnie nowy poziom

Dziś z przyjemnością udostępniamy pierwszą wersję zapoznawczą MultiChain 2.0, która zawiera jedną z głównych części Mapa drogowa MultiChain 2.0 opublikowane na początku tego roku - bogatszy model danych dla strumieni.

Strumienie okazały się popularną funkcją MultiChain, zapewniając naturalną abstrakcję dla ogólnego przechowywania danych i wyszukiwania w łańcuchu bloków. Łańcuch MultiChain może zawierać dowolną liczbę nazwanych strumieni, z których każdy może mieć indywidualne uprawnienia do zapisu lub być otwarty do zapisu dla wszystkich. W MultiChain 1.0 każdy element strumienia ma jednego lub więcej wydawców (którzy go podpisują), opcjonalny klucz do wydajnego pobierania, ładunek danych binarnych o rozmiarze do 64 MB oraz znacznik czasu pochodzący z bloku, w którym jest osadzony.

Ta wersja zapoznawcza MultiChain 2.0, oznaczona numerem alfa 1, przenosi funkcjonalność strumieni na zupełnie nowy poziom:

  • Elementy JSON. Jako opcjonalna alternatywa dla surowych danych binarnych, elementy strumieniowe mogą teraz zawierać dowolną strukturę JSON, która jest przechowywana w łańcuchu bloków w wydajnym UBJSON format serializacji. Ponieważ interfejs API MultiChain używa już JSON w całym tekście, te struktury JSON można czytać i zapisywać w naturalny i oczywisty sposób.
  • Elementy tekstowe. Elementy strumieniowe mogą również zawierać tekst Unicode, efektywnie przechowywany w łańcuchu bloków w kodowaniu UTF-8. Elementy tekstowe można również czytać i zapisywać bezpośrednio za pośrednictwem interfejsu MultiChain API.
  • Wiele kluczy. Każdy element strumienia może teraz mieć wiele kluczy zamiast tylko jednego. Umożliwia to znacznie bardziej elastyczne schematy oznaczania, indeksowania i pobierania.
  • Wiele pozycji na transakcję. Wiele elementów można teraz zapisywać w tym samym strumieniu w jednej niepodzielnej transakcji. Dzięki temu wiele elementów strumieniowych może: (a) być w naturalny sposób grupowane razem pod jednym identyfikatorem transakcji, (b) zajmować mniej miejsca w łańcuchu bloków oraz (c) wymagać mniejszej liczby weryfikacji podpisów.
  • Scalanie JSON. Istnieją nowe interfejsy API do podsumowania elementów w strumieniu z określonym kluczem lub wydawcą. Pierwszy oferowany typ podsumowania to połączenie wszystkich obiektów JSON w tych elementach. Wynikiem scalenia jest nowy obiekt zawierający wszystkie klucze JSON z poszczególnych obiektów, gdzie wartość odpowiadająca każdemu kluczowi JSON jest pobierana z ostatniego elementu, w którym występuje ten klucz. Scalanie można dostosować na różne sposoby, np. Aby kontrolować, czy podobiekty są scalane rekurencyjnie i czy powinny być uwzględniane wartości null.

Celem scalania JSON jest umożliwienie strumieniowi pełnienia roli elastycznej bazy danych dla aplikacji zbudowanych w oparciu o MultiChain, z kluczem strumienia lub wydawcą (odpowiednio) działającym jako „klucz podstawowy” dla każdego wpisu bazy danych. Zaletą w stosunku do zwykłej bazy danych jest to, że strumień zawiera w pełni podpisaną i oznaczoną czasowo historię zmian każdego wpisu w czasie, a łańcuch bloków zabezpiecza tę historię niezmiennie dzięki wielostronnemu konsensusowi.

Podobnie jak w poprzednich wersjach, każdy węzeł może swobodnie decydować, które strumienie subskrybować, lub może automatycznie subskrybować wszystkie strumienie. Jeśli węzeł subskrybuje strumień, indeksuje zawartość tego strumienia w czasie rzeczywistym, umożliwiając wydajne pobieranie przez wydawcę, klucz, blok, znacznik czasu lub pozycję - a teraz podsumowanie według klucza lub wydawcy.

Oprócz elementów strumieniowych, MultiChain 2.0 alpha 1 obsługuje również JSON i tekst w surowych metadanych transakcji, jako alternatywę dla surowych danych binarnych obsługiwanych w MultiChain 1.0.

Wreszcie, ta wersja pozwala niestandardowym polom wydanych zasobów i utworzonych strumieni zawierać dowolny obiekt JSON, zamiast par klucz / wartość tylko tekstowych oferowanych w MultiChain 1.0. W celu zapewnienia zgodności w przód, MultiChain 1.0.2 umożliwia odczytywanie (ale nie zapisywanie) tych bogatszych zasobów i przesyłanie strumieniowych pól niestandardowych.

Aby wypróbować te nowe funkcje, odwiedź Wersje zapoznawcze MultiChain 2.0 Strona i pobierz wersję alfa 1. Strona zawiera również szczegółową dokumentację dotyczącą nowych interfejsów API i dostępnych parametrów.

Chcielibyśmy usłyszeć swoją opinię na tej nowej funkcji. I oczywiście już ciężko pracujemy nad kolejnym dużym zestawem ulepszeń dla MultiChain 2.0, którego premiera zaplanowana jest na początek przyszłego roku.

Prosimy o umieszczanie komentarzy na LinkedIn.

Znak czasu:

Więcej z Multichain