如何将资产更新限制为一个组织,而允许所有组织读取资产?



我有3个组织Org1, Org2和Org3使用HLF v2.2。组织将一些特定于组织的数据存储在区块链上的键值对(资产)中(键是唯一的,因为我们使用组织代码作为前缀)。在区块链上带有组织代码前缀的键值对可由该组织更新(CREATE, UPDATE &DELETE),而其他组织只能具有READ访问权限。我们如何实现这种行为?我正在考虑在链代码中使用Org代码和管理组织资产的函数映射Org mspid的缓存,然后我可以检查调用是否来自特定的组织,并相应地允许执行更新操作。如有任何意见,不胜感激。

也许Private Data适合您的用例。看看本文中的场景2:https://kctheservant.medium.com/private-data-collection-policy-demonstrating-members-only-read-and-write-features-b2e03ff02332。通过这种方式,您可以为每个组织定义一个私有集合,该集合可以被其他组织读取(尽管请求客户机应该查询相应组织的对等体)。

如果您的隐私问题仅与客户端相关(如果您信任来自其他组织的同行和订单),也许您不需要Private Data功能。您可以简单地评估链码中的请求者MSP来应用您的限制。