Eerste preview-versie van MultiChain 2.0

Bronknooppunt: 1740447

MultiChain-streams naar een geheel nieuw niveau tillen

Vandaag zijn we verheugd om de eerste preview-release van MultiChain 2.0 te delen, die een groot deel van de MultiChain 2.0-routekaart eerder dit jaar gepubliceerd - een rijker datamodel voor streams.

Streams hebben bewezen een populaire functie te zijn in MultiChain en bieden een natuurlijke abstractie voor algemene gegevensopslag en -herstel op een blockchain. Een MultiChain-keten kan een willekeurig aantal benoemde streams bevatten, die elk individuele schrijfrechten kunnen hebben of door iedereen kunnen worden geschreven. In MultiChain 1.0 heeft elk streamitem een ​​of meer uitgevers (die het ondertekenen), een optionele sleutel voor efficiënt ophalen, een binaire gegevenspayload tot 64 MB groot en een tijdstempel afgeleid van het blok waarin het is ingesloten.

Deze preview-release van MultiChain 2.0, genummerd alfa 1, tilt de streamfunctionaliteit naar een geheel nieuw niveau:

  • JSON-items. Als een optioneel alternatief voor onbewerkte binaire gegevens, kunnen stroomitems nu elke JSON-structuur bevatten, die is opgeslagen op de blockchain in de efficiënte UBJSON serialisatie-indeling. Omdat de MultiChain API al JSON gebruikt, kunnen deze JSON-structuren op een natuurlijke en voor de hand liggende manier worden gelezen en geschreven.
  • Tekstitems. Streamitems kunnen ook Unicode-tekst bevatten, efficiënt opgeslagen op de blockchain in UTF-8-codering. Tekstitems kunnen ook rechtstreeks worden gelezen en geschreven via de MultiChain API.
  • Meerdere sleutels. Elk streamitem kan nu meerdere sleutels hebben in plaats van slechts één. Dit maakt veel flexibelere schema's mogelijk voor tagging, indexering en retrieval.
  • Meerdere items per transactie. Meerdere items kunnen nu in één atomaire transactie naar dezelfde stream worden geschreven. Hierdoor kunnen meerdere streamitems: (a) natuurlijk gegroepeerd worden onder een enkele transactie-ID, (b) minder ruimte innemen op de blockchain en (c) minder handtekeningverificaties vereisen.
  • JSON samenvoegen. Er zijn nieuwe API's om de items in een stream met een bepaalde sleutel of uitgever samen te vatten. Het eerste type samenvatting dat wordt aangeboden, is een samenvoeging van alle JSON-objecten in die items. Het resultaat van de samenvoeging is een nieuw object dat alle JSON-sleutels van de afzonderlijke objecten bevat, waarbij de waarde die overeenkomt met elke JSON-sleutel wordt overgenomen uit het laatste item waarin die sleutel voorkomt. Het samenvoegen kan op verschillende manieren worden aangepast, bijvoorbeeld om te bepalen of subobjecten recursief worden samengevoegd en of null-waarden moeten worden opgenomen.

Het doel van het samenvoegen van JSON is om een ​​stream in staat te stellen te dienen als een flexibele database voor applicaties die zijn gebouwd op MultiChain, waarbij de streamsleutel of uitgever (indien van toepassing) fungeert als een "primaire sleutel" voor elke database-invoer. Het voordeel ten opzichte van een gewone database is dat de stream een ​​volledig ondertekende geschiedenis met tijdstempel bevat van hoe elk item in de loop van de tijd is gewijzigd, waarbij de blockchain deze geschiedenis onveranderlijk beveiligt door middel van consensus met meerdere partijen.

Net als in eerdere versies kan elk knooppunt vrij beslissen op welke streams hij zich abonneert, of kan hij zich automatisch abonneren op alle streams. Als een knooppunt is geabonneerd op een stream, indexeert het de inhoud van die stream in realtime, waardoor het efficiënt kan worden opgehaald op uitgever, sleutel, blok, tijdstempel of positie - en nu wordt samengevat op sleutel of uitgever.

Naast stream-items ondersteunt MultiChain 2.0 alpha 1 ook JSON en tekst in onbewerkte transactiemetagegevens, als alternatief voor de onbewerkte binaire gegevens die worden ondersteund in MultiChain 1.0.

Ten slotte staat deze release toe dat de aangepaste velden van uitgegeven activa en gemaakte streams elk JSON-object bevatten, in plaats van de alleen-tekst sleutel / waarde-paren die worden aangeboden in MultiChain 1.0. Voor forwards-compatibiliteit bevat MultiChain 1.0.2 de mogelijkheid om deze rijkere activa te lezen (maar niet te schrijven) en aangepaste velden te streamen.

Om deze nieuwe functies uit te proberen, gaat u naar het MultiChain 2.0 preview-releases pagina en download alpha 1. De pagina biedt ook gedetailleerde documentatie over de nieuwe API's en beschikbare parameters.

We zouden graag hoor uw feedback op deze nieuwe functionaliteit. En natuurlijk zijn we al hard aan het werk aan de volgende grote reeks verbeteringen voor MultiChain 2.0, die gepland staat voor begin volgend jaar.

Plaats eventuele opmerkingen op LinkedIn.

Tijdstempel:

Meer van Multichain