复合键与单键追加字符串

问题描述 投票:0回答:1

在Hyperledger Fabric中观察很多示例我发现了两种获得密钥的方法:

假设我们有两个领域的签证和签证类型。

查看:“1212323”

签证类型:“学生签证”

所以我们既不能创建密钥:

  1. 使用由键提供的CompositeKey函数

key, err := stub.CreateCompositeKey(indexName,[]string{visa, typeVisa}) stub.PutState(key, value)

  1. 连接这两个字段

stub.PutState(visa+typeVisa, value)

这两种方法有什么区别?什么是最好的表现?

hyperledger-fabric hyperledger blockchain
1个回答
1
投票

通过使用复合键,您可以访问链码中的额外方法,例如getStateByPartialCompositeKey所以你可以找回所有“学生签证”。如果您创建自己的密钥,则必须检索所有Visas,然后自行过滤集合,或编写查询以按属性检索数据(假设您在CouchDB状态数据库中使用JSON数据)。所以我认为性能差异在于有效的检索而不是密钥的原始写入。

CouchDB as the State Database的Fabric文档中有一个很好的文档,它涵盖了这些信息。

© www.soinside.com 2019 - 2024. All rights reserved.