Första förhandsgranskning av MultiChain 2.0

Källnod: 1740447

Att ta MultiChain-strömmar till en helt ny nivå

Idag är vi glada över att dela den första förhandsgranskningen av MultiChain 2.0, som implementerar en viktig del av MultiChain 2.0-färdplan publicerad tidigare i år - en rikare datamodell för strömmar.

Strömmar har visat sig vara en populär funktion i MultiChain, vilket ger en naturlig abstraktion för datalagring och hämtning av allmänna ändamål på en blockchain. En MultiChain-kedja kan innehålla valfritt antal namngivna strömmar, som var och en kan ha individuella skrivbehörigheter eller vara öppen för att skriva av alla. I MultiChain 1.0 har varje strömobjekt en eller flera utgivare (som undertecknar det), en valfri nyckel för effektiv återhämtning, en binär data nyttolast upp till 64 MB i storlek och en tidsstämpel härledd från blocket där det är inbäddat.

Den här förhandsgranskningen av MultiChain 2.0, numrerad alfa 1, tar strömmens funktionalitet till en helt ny nivå:

  • JSON artiklar. Som ett valfritt alternativ till rå binär data kan strömobjekt nu innehålla vilken JSON-struktur som helst som lagras på blockchainen på ett effektivt sätt UBJSON serieformat. Eftersom MultiChain API redan använder JSON genomgående kan dessa JSON-strukturer läsas och skrivas på ett naturligt och uppenbart sätt.
  • Textartiklar. Strömobjekt kan också innehålla Unicode-text som lagras effektivt på blockchain i UTF-8-kodning. Textartiklar kan också läsas och skrivas direkt via MultiChain API.
  • Flera tangenter. Varje strömobjekt kan nu ha flera tangenter istället för bara en. Detta möjliggör mycket mer flexibla scheman för taggning, indexering och hämtning.
  • Flera objekt per transaktion. Flera objekt kan nu skrivas till samma ström i en enda atomtransaktion. Detta gör att flera strömobjekt kan: (a) naturligt grupperas under ett enda transaktions-ID, (b) ta mindre plats på blockchain och (c) kräver färre signaturverifieringar.
  • JSON sammanslagning. Det finns nya API: er för att sammanfatta artiklarna i en ström med en viss nyckel eller utgivare. Den första typen av sammanfattning som erbjuds är en sammanslagning av alla JSON-objekt i dessa artiklar. Resultatet av sammanslagningen är ett nytt objekt som innehåller alla JSON-nycklar från de enskilda objekten, där värdet som motsvarar varje JSON-nyckel tas från det sista objektet där den nyckeln visas. Fusionen kan anpassas på olika sätt, t.ex. för att kontrollera om underobjekt slås samman rekursivt och om nollvärden ska inkluderas.

Syftet med JSON-sammanslagning är att göra det möjligt för en ström att fungera som en flexibel databas för applikationer byggda på MultiChain, med strömnyckeln eller utgivaren (i förekommande fall) som en "primär nyckel" för varje databaspost. Fördelen med en vanlig databas är att strömmen innehåller en helt signerad och tidsstämplad historik över hur varje post ändrades över tid, med blockchain som säkerställer denna historia oändligt genom flerparts konsensus.

Som i tidigare versioner kan varje nod fritt bestämma vilka strömmar att prenumerera på, eller kan prenumerera på alla strömmar automatiskt. Om en nod prenumereras på en ström, indexeras den strömmens innehåll i realtid, vilket möjliggör effektiv återhämtning av utgivare, nyckel, block, tidsstämpel eller position - och nu sammanfattning av nyckel eller utgivare.

Förutom strömobjekt stöder MultiChain 2.0 alfa 1 också JSON och text i metadata för rå transaktioner, som alternativ till de råa binära data som stöds i MultiChain 1.0.

Slutligen tillåter denna utgåva de anpassade fälten för utfärdade tillgångar och skapade strömmar att innehålla alla JSON-objekt, i stället för text-endast nyckel- / värdepar som erbjuds i MultiChain 1.0. För framåtkompatibilitet inkluderar MultiChain 1.0.2 möjligheten att läsa (men inte skriva) dessa rikare tillgångar och strömma anpassade fält.

Om du vill prova dessa nya funktioner besöker du MultiChain 2.0 förhandsgranskningar sida och ladda ner alfa 1. Sidan ger också detaljerad dokumentation om de nya tillgängliga API: erna och parametrarna.

Vi skulle gärna vilja hör din feedback på denna nya funktionalitet. Och naturligtvis arbetar vi redan hårt med nästa stora uppsättning förbättringar för MultiChain 2.0, planerad att släppas i början av nästa år.

Skicka eventuella kommentarer på Link.

Tidsstämpel:

Mer från Multikedja