Første version af MultiChain 2.0-forhåndsvisning

Kildeknude: 1740447

Tager MultiChain-streams til et helt nyt niveau

I dag er vi glade for at kunne dele den første preview-udgivelse af MultiChain 2.0, som implementerer en stor del af MultiChain 2.0 køreplan udgivet tidligere i år – en rigere datamodel for streams.

Streams har vist sig at være en populær funktion i MultiChain, der giver en naturlig abstraktion til generel datalagring og hentning på en blockchain. En MultiChain-kæde kan indeholde et hvilket som helst antal navngivne streams, som hver kan have individuelle skrivetilladelser eller være åbne for skrivning af alle. I MultiChain 1.0 har hvert stream-element en eller flere udgivere (som underskriver det), en valgfri nøgle til effektiv hentning, en binær datalast på op til 64 MB i størrelse og et tidsstempel, der er afledt af den blok, hvori det er indlejret.

Denne forhåndsvisning af MultiChain 2.0, nummereret alpha 1, tager streams funktionalitet til et helt nyt niveau:

  • JSON elementer. Som et valgfrit alternativ til rå binære data kan stream-elementer nu indeholde enhver JSON-struktur, som er gemt på blockchain i den effektive UBJSON serialiseringsformat. Da MultiChain API'en allerede bruger JSON hele vejen igennem, kan disse JSON-strukturer læses og skrives på en naturlig og indlysende måde.
  • Tekstemner. Stream-elementer kan også indeholde Unicode-tekst, lagret effektivt på blockchain i UTF-8-kodning. Tekstemner kan også læses og skrives direkte via MultiChain API.
  • Flere nøgler. Hvert stream-element kan nu have flere nøgler i stedet for kun én. Dette muliggør meget mere fleksible ordninger til tagging, indeksering og genfinding.
  • Flere varer pr. transaktion. Flere elementer kan nu skrives til den samme strøm i en enkelt atomtransaktion. Dette gør det muligt for flere stream-elementer at: (a) være naturligt grupperet under et enkelt transaktions-id, (b) optage mindre plads på blockchain og (c) kræve færre signaturbekræftelser.
  • JSON fusionerer. Der er nye API'er til at opsummere elementerne i en strøm med en bestemt nøgle eller udgiver. Den første type oversigt, der tilbydes, er en sammenfletning af alle JSON-objekterne i disse elementer. Resultatet af sammenlægningen er et nyt objekt, der indeholder alle JSON-nøglerne fra de enkelte objekter, hvor værdien svarende til hver JSON-nøgle er taget fra det sidste element, hvori denne nøgle optræder. Sammenfletningen kan tilpasses på forskellige måder, f.eks. for at kontrollere om delobjekter flettes rekursivt, og om null-værdier skal inkluderes.

Formålet med JSON-fusion er at gøre det muligt for en stream at fungere som en fleksibel database for applikationer bygget på MultiChain, hvor streamnøglen eller udgiveren (alt efter omstændighederne) fungerer som en "primær nøgle" for hver databaseindgang. Fordelen i forhold til en almindelig database er, at strømmen indeholder en fuldt signeret og tidsstemplet historie over, hvordan hver post blev ændret over tid, hvor blockchain sikrer denne historie uforanderligt gennem flerpartskonsensus.

Som i tidligere versioner kan hver node frit bestemme, hvilke streams der skal abonneres på, eller kan abonnere på alle streams automatisk. Hvis en node abonnerer på en stream, indekserer den streamens indhold i realtid, hvilket muliggør effektiv hentning efter udgiver, nøgle, blok, tidsstempel eller position – og nu opsummering efter nøgle eller udgiver.

Bortset fra stream-elementer, understøtter MultiChain 2.0 alpha 1 også JSON og tekst i rå transaktionsmetadata, som alternativer til de rå binære data, der understøttes i MultiChain 1.0.

Endelig tillader denne udgivelse, at de tilpassede felter for udstedte aktiver og oprettede streams indeholder ethvert JSON-objekt i stedet for de tekst-kun nøgle/værdi-par, der tilbydes i MultiChain 1.0. For fremadrettet kompatibilitet inkluderer MultiChain 1.0.2 muligheden for at læse (men ikke skrive) disse rigere aktiv og streame tilpassede felter.

For at prøve disse nye funktioner, besøg MultiChain 2.0 preview-udgivelser side og download alpha 1. Siden giver også detaljeret dokumentation om de nye tilgængelige API'er og parametre.

Det ville vi gerne hør din feedback på denne nye funktionalitet. Og selvfølgelig arbejder vi allerede hårdt på det næste store sæt forbedringer til MultiChain 2.0, der er planlagt til at blive udgivet i begyndelsen af ​​næste år.

Skriv eventuelle kommentarer på LinkedIn.

Tidsstempel:

Mere fra multikæde