如果链码调用既查询又更新私人数据,则提案请求将返回错误。为什么?

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

执行范围或富JSON查询并在不支持单个事务,因为查询结果不能在无法访问私有数据的对等方上进行验证,或者在缺少他们可以访问的私有数据的同级上。如果链码调用既查询又更新私有数据,则提案请求将返回错误。如果您的应用程序可以容许结果集在链码执行和验证/提交时间,那么您可以调用一个chaincode函数来执行查询,然后调用第二个chaincode函数以使更新。请注意,调用GetPrivateData()以获取单个密钥可以在与PutPrivateData()调用,因为所有对等方都可以基于在散列密钥版本上。Find Link Here

我在结构上遇到了与limitation of querying Private Data有关的这一小段。我对私有数据概念非常陌生。

我的理解是,

  • CC调用要求范围或丰富的JSON查询并同时更新到私有数据会导致提案返回错误。

  • 最好先调用一个chaincode函数来执行查询,然后再调用另一个chaincode函数来进行更新

  • [通常,GetPrivateData()可以与PutPrivateData()调用在同一事务中进行检索,因为所有对等方都可以基于散列的密钥版本来验证密钥读取。

我的理解正确吗?如果是,那么为什么对私有数据呢?如果没有,请给我智慧。

hyperledger-fabric blockchain
1个回答
0
投票

因此,首先-无论是私有数据还是非私有数据,都不会在提交后重新执行富查询。

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