Première version préliminaire de MultiChain 2.0

Nœud source: 1740447

Faire passer les flux MultiChain à un tout autre niveau

Aujourd'hui, nous sommes ravis de partager la première version préliminaire de MultiChain 2.0, qui implémente une partie majeure du Feuille de route MultiChain 2.0 publié plus tôt cette année - un modèle de données plus riche pour les flux.

Les flux se sont avérés être une fonctionnalité populaire dans MultiChain, fournissant une abstraction naturelle pour le stockage et la récupération de données à usage général sur une blockchain. Une chaîne MultiChain peut contenir n'importe quel nombre de flux nommés, chacun pouvant avoir des autorisations d'écriture individuelles ou être ouvert à l'écriture par tous. Dans MultiChain 1.0, chaque élément de flux a un ou plusieurs éditeurs (qui le signent), une clé facultative pour une récupération efficace, une charge de données binaires jusqu'à 64 Mo et un horodatage dérivé du bloc dans lequel il est intégré.

Cette version préliminaire de MultiChain 2.0, numérotée alpha 1, porte la fonctionnalité des flux à un tout autre niveau:

  • Éléments JSON. En tant qu'alternative facultative aux données binaires brutes, les éléments de flux peuvent désormais contenir n'importe quelle structure JSON, qui est stockée sur la blockchain dans le UBJSON format de sérialisation. Étant donné que l'API MultiChain utilise déjà JSON partout, ces structures JSON peuvent être lues et écrites de manière naturelle et évidente.
  • Éléments de texte. Les éléments de flux peuvent également contenir du texte Unicode, stocké efficacement sur la blockchain en encodage UTF-8. Les éléments de texte peuvent également être lus et écrits directement via l'API MultiChain.
  • Plusieurs clés. Chaque élément de flux peut désormais avoir plusieurs clés au lieu d'une seule. Cela permet des schémas beaucoup plus flexibles pour le marquage, l'indexation et la récupération.
  • Plusieurs articles par transaction. Plusieurs éléments peuvent désormais être écrits dans le même flux en une seule transaction atomique. Cela permet à plusieurs éléments de flux de: (a) être naturellement regroupés sous un seul identifiant de transaction, (b) occuper moins d'espace sur la blockchain et (c) nécessiter moins de vérifications de signature.
  • Fusion JSON. Il existe de nouvelles API pour résumer les éléments d'un flux avec une clé ou un éditeur particulier. Le premier type de résumé proposé est une fusion de tous les objets JSON de ces éléments. Le résultat de la fusion est un nouvel objet contenant toutes les clés JSON des objets individuels, où la valeur correspondant à chaque clé JSON est extraite du dernier élément dans lequel cette clé apparaît. La fusion peut être personnalisée de différentes manières, par exemple pour contrôler si les sous-objets sont fusionnés de manière récursive et si des valeurs nulles doivent être incluses.

Le but de la fusion JSON est de permettre à un flux de servir de base de données flexible pour les applications basées sur MultiChain, la clé de flux ou l'éditeur (selon le cas) agissant comme une «clé primaire» pour chaque entrée de base de données. L'avantage par rapport à une base de données régulière est que le flux contient un historique entièrement signé et horodaté de la façon dont chaque entrée a été modifiée au fil du temps, la blockchain sécurisant cet historique de manière immuable grâce à un consensus multipartite.

Comme dans les versions précédentes, chaque nœud peut décider librement à quels flux s'abonner ou peut s'abonner automatiquement à tous les flux. Si un nœud est abonné à un flux, il indexe le contenu de ce flux en temps réel, permettant une récupération efficace par éditeur, clé, bloc, horodatage ou position - et maintenant une synthèse par clé ou éditeur.

Outre les éléments de flux, MultiChain 2.0 alpha 1 prend également en charge JSON et le texte dans les métadonnées de transaction brutes, comme alternatives aux données binaires brutes prises en charge dans MultiChain 1.0.

Enfin, cette version permet aux champs personnalisés des actifs émis et des flux créés de contenir n'importe quel objet JSON, au lieu des paires clé / valeur de texte uniquement proposées dans MultiChain 1.0. Pour la compatibilité ascendante, MultiChain 1.0.2 inclut la possibilité de lire (mais pas d'écrire) ces champs d'actifs plus riches et de diffuser des flux personnalisés.

Pour essayer ces nouvelles fonctionnalités, visitez le Versions d'aperçu de MultiChain 2.0 et téléchargez alpha 1. La page fournit également une documentation détaillée sur les nouvelles API et paramètres disponibles.

Avec plaisir entendre vos commentaires sur cette nouvelle fonctionnalité. Et bien sûr, nous travaillons déjà dur sur la prochaine série d'améliorations majeures pour MultiChain 2.0, dont la sortie est prévue au début de l'année prochaine.

Veuillez poster vos commentaires sur LinkedIn.

Horodatage:

Plus de Multichain