Prima versione di anteprima di MultiChain 2.0

Nodo di origine: 1740447

Portare gli stream MultiChain a un livello completamente nuovo

Oggi siamo lieti di condividere la prima versione in anteprima di MultiChain 2.0, che implementa una parte importante del Roadmap di MultiChain 2.0 pubblicato all'inizio di quest'anno: un modello di dati più ricco per i flussi.

Gli stream hanno dimostrato di essere una caratteristica popolare in MultiChain, fornendo un'astrazione naturale per l'archiviazione e il recupero dei dati di uso generale su una blockchain. Una catena MultiChain può contenere un numero qualsiasi di flussi denominati, ognuno dei quali può avere autorizzazioni di scrittura individuali o essere aperto alla scrittura da tutti. In MultiChain 1.0, ogni elemento del flusso ha uno o più editori (che lo firmano), una chiave opzionale per un recupero efficiente, un payload di dati binari fino a 64 MB di dimensione e un timestamp derivato dal blocco in cui è incorporato.

Questa versione di anteprima di MultiChain 2.0, numerata alpha 1, porta la funzionalità degli stream a un livello completamente nuovo:

  • Articoli JSON. Come alternativa opzionale ai dati binari grezzi, gli elementi del flusso possono ora contenere qualsiasi struttura JSON, che è archiviata sulla blockchain nell'efficiente UBJSON formato di serializzazione. Poiché l'API MultiChain utilizza già JSON in tutto, queste strutture JSON possono essere lette e scritte in modo naturale e ovvio.
  • Elementi di testo. Gli elementi del flusso possono anche contenere testo Unicode, archiviato in modo efficiente sulla blockchain nella codifica UTF-8. Gli elementi di testo possono anche essere letti e scritti direttamente tramite l'API MultiChain.
  • Chiavi multiple. Ogni elemento del flusso ora può avere più chiavi invece di una sola. Ciò consente schemi molto più flessibili per la codifica, l'indicizzazione e il recupero.
  • Più articoli per transazione. È ora possibile scrivere più elementi nello stesso flusso in una singola transazione atomica. Ciò consente a più elementi del flusso di: (a) essere raggruppati naturalmente insieme sotto un unico ID transazione, (b) occupare meno spazio sulla blockchain e (c) richiedere meno verifiche della firma.
  • Unione JSON. Sono disponibili nuove API per riepilogare gli elementi in uno stream con una particolare chiave o editore. Il primo tipo di riepilogo offerto è un'unione di tutti gli oggetti JSON in quegli elementi. Il risultato dell'unione è un nuovo oggetto contenente tutte le chiavi JSON dei singoli oggetti, dove il valore corrispondente a ciascuna chiave JSON è preso dall'ultimo elemento in cui compare quella chiave. L'unione può essere personalizzata in vari modi, ad esempio per controllare se i sottooggetti vengono uniti ricorsivamente e se devono essere inclusi valori nulli.

Lo scopo dell'unione JSON è consentire a uno stream di fungere da database flessibile per applicazioni costruite su MultiChain, con la chiave stream o editore (a seconda dei casi) che funge da "chiave primaria" per ciascuna voce di database. Il vantaggio rispetto a un database normale è che lo stream contiene una cronologia completamente firmata e con timestamp di come ogni voce è stata modificata nel tempo, con la blockchain che protegge questa cronologia in modo immutabile attraverso il consenso multipartitico.

Come nelle versioni precedenti, ogni nodo può decidere liberamente a quali stream iscriversi oppure può iscriversi automaticamente a tutti gli stream. Se un nodo è iscritto a uno stream, indicizza il contenuto dello stream in tempo reale, consentendo un recupero efficiente per editore, chiave, blocco, timestamp o posizione e ora riepilogo per chiave o editore.

Oltre agli elementi del flusso, MultiChain 2.0 alpha 1 supporta anche JSON e testo nei metadati delle transazioni non elaborate, come alternative ai dati binari non elaborati supportati in MultiChain 1.0.

Infine, questa versione consente ai campi personalizzati delle risorse emesse e dei flussi creati di contenere qualsiasi oggetto JSON, invece delle coppie chiave / valore di solo testo offerte in MultiChain 1.0. Per la compatibilità in avanti, MultiChain 1.0.2 include la possibilità di leggere (ma non scrivere) queste risorse più ricche e eseguire lo streaming di campi personalizzati.

Per provare queste nuove funzionalità, visita il Versioni di anteprima di MultiChain 2.0 pagina e scarica alpha 1. La pagina fornisce anche una documentazione dettagliata sulle nuove API e parametri disponibili.

Ci piacerebbe ascolta il tuo feedback su questa nuova funzionalità. E ovviamente stiamo già lavorando sodo sulla prossima importante serie di miglioramenti per MultiChain 2.0, prevista per il rilascio all'inizio del prossimo anno.

Si prega di inviare eventuali commenti LinkedIn.

Timestamp:

Di più da più giri