繁体   English   中英

Hyperledger Fabric 链码数据模型

[英]Hyperledger Fabric chaincode data model

在 Hyperledger Fabric 中是否有设计链码数据模型的指南? 如果我们有复杂的关系,在设计数据模型时有什么技巧吗?

例如,如果我要设计图书馆数据模型。 每本书可以有多个作者,每个作者可以有多本书。 每本书都可以标记为不同的类别。 为这个例子编写链码的最佳方式是什么,以便通过标签或作者轻松查询?

我建议两种方法。

第一的:

如果它是一个数据数据,你想通过键使用进行查询:

key, err := stub.CreateCompositeKey(index, []string{key1, key2, key3})

// Skipped

stub.PutState(key, value)

将要查询的其他属性的键放在复合键上,然后使用:

getStateByPartialCompositeKey(objectType, attributes)

这样你就可以通过有效的方式查询其键来获取作者或类别的书籍。

第二:

如果不需要按属性查询,只需在序列化和状态之前将属性名称或 id 放入您的模型中。

使用Hyperledger Composer ,您可以轻松地在资产或参与者之间放置 RelationShip。 使用extends您可以获取超类型所需的所有属性和字段,并从其自己的定义中添加任何其他属性或字段。 有关更多信息,您可以点击链接了解模型语言概念。

例如

考虑您的示例,创建 1 个Asset库。 前任:

 asset Library identified by LibraryId {
      o String LibraryId
  }

然后还创建一个concept Book ,并创建一个由书概念扩展的Participate Author 您也可以将添加字段放在任何参与/资产/概念中。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM