首个MultiChain 2.0预览版

源节点: 1740447

将MultiChain流提升到一个全新的水平

今天,我们很高兴分享MultiChain 2.0的第一个预览版,该预览版实现了 MultiChain 2.0路线图 今年早些时候发布的–更丰富的流数据模型。

流已被证明是MultiChain中的流行功能,它为通用数据存储和在区块链上的检索提供了自然的抽象。 MultiChain链可以包含任意数量的命名流,每个命名流可以具有单独的写许可权,或者可以被所有人开放。 在MultiChain 1.0中,每个流项目都有一个或多个发布者(对其进行签名),用于有效检索的可选密钥,最大64 MB的二进制数据有效载荷,以及从其嵌入的块派生的时间戳。

MultiChain 2.0的预览版本(编号为alpha 1)将流功能提升到了一个全新的水平:

  • JSON项目。 作为原始二进制数据的可选替代方案,流项目现在可以包含任何JSON结构,该结构以有效的方式存储在区块链中 JSON格式 序列化格式。 由于MultiChain API已经在整个过程中使用JSON,因此可以以自然且显而易见的方式读取和写入这些JSON结构。
  • 文字项目。 流项目还可能包含Unicode文本,以utf-8编码有效地存储在区块链上。 文本项也可以通过MultiChain API直接读取和写入。
  • 多个按键。 每个流项目现在可以具有多个键,而不仅仅是一个。 这为标记,索引和检索提供了更加灵活的方案。
  • 每笔交易有多个项目。 现在,可以在单个原子事务中将多个项目写入同一流。 这允许多个流项目:(a)在单个交易ID下自然地分组在一起;(b)在区块链上占用更少的空间;(c)需要更少的签名验证。
  • JSON合并。 有新的API可以用特定的密钥或发布者来汇总流中的项目。 提供的第一种摘要类型是这些项目中所有JSON对象的合并。 合并的结果是一个新对象,其中包含单个对象中的所有JSON密钥,其中与每个JSON密钥相对应的值取自该密钥出现的最后一项。 可以通过各种方式自定义合并,例如,控制子对象是否递归合并以及是否应包含空值。

JSON合并的目的是使流可用作基于MultiChain构建的应用程序的灵活数据库,而流密钥或发布者(视情况而定)充当每个数据库条目的“主键”。 相对于常规数据库的优势在于,该流包含一个完整签名且带有时间戳记的历史记录,记录每个条目随时间的变化,而区块链通过多方共识来一成不变地保护该历史记录。

与以前的版本一样,每个节点可以自由决定要订阅的流,也可以自动订阅所有流。 如果节点订阅了流,则它会实时索引该流的内容,从而可以按发布者,键,块,时间戳或位置进行有效检索,现在可以按键或发布者进行汇总。

除了流项目外,MultiChain 2.0 alpha 1还支持原始交易元数据中的JSON和文本,以替代MultiChain 1.0中支持的原始二进制数据。

最后,此版本允许已发行资产和创建的流的自定义字段包含任何JSON对象,而不是MultiChain 1.0中提供的纯文本键/值对。 为了向前兼容,MultiChain 1.0.2包含读取(但不写入)这些更丰富的资产和流自定义字段的功能。

要尝试这些新功能,请访问 MultiChain 2.0预览版 页并下载alpha 1.该页还提供了有关可用的新API和参数的详细文档。

我们很乐意 听听您的意见 在这个新功能上。 当然,我们已经在为明年年初发布的MultiChain 2.0的下一个主要增强功能进行着艰苦的工作。

请发表任何评论 在LinkedIn.

时间戳记:

更多来自 Multichain