【问题标题】:Why "hyperledger-fabric" private data collections cannot query the PDC and make changes to it on the same transaction?为什么“hyperledger-fabric”私有数据集合无法查询 PDC 并在同一事务中对其进行更改?
【发布时间】:2019-04-05 07:08:45
【问题描述】:

注意:我正在尝试在 hyperledger fabric 1.2 上使用 PrivateDataCollections

我们正在迁移代码以使用之前写入分类帐的PDC,并且我们正在对分类帐上的同一事务执行范围查询和更改状态。

我们所做的是首先运行某种范围查询以获取所有相关对象的列表,加载它们并更改状态,到目前为止这工作正常。

对于PDC,我们保持了相同的方法,但现在我们得到一个错误,当我们 尝试将数据放在PDC 上。这是我们收到的错误消息。

事务已经对 pvt 数据执行了查询。写入不是 允许

我们使用这种组合没有任何问题:

GetStateByPartialCompositeKey
PutState

但这不起作用;

GetPrivateDataByPartialCompositeKey
PutPrivateData

这是设计使然,还是可以选择覆盖此行为?

即使您查询SideDB,我也没有发现任何问题,这背后的原因是什么?

【问题讨论】:

  • 我在 HLF 板上找到了这个。 jira.hyperledger.org/browse/… 所以我的理解是;范围查询将导致不属于 PDC 的对等方出现问题,因此无法以任何方式提交事务。

标签: hyperledger-fabric


【解决方案1】:

在我正在使用的函数中

GetPrivateDataByPartialCompositeKey  
PutState

它还在抱怨

错误:调用期间背书失败。响应:状态:500 消息:“模拟错误:交易返回失败: 错误:PUT_STATE 失败: Transaction 已经对 pvt 数据执行了查询。写入不是 允许”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-02-26
    • 2021-12-10
    • 2018-12-28
    • 1970-01-01
    • 1970-01-01
    • 2022-06-10
    • 2020-11-06
    • 1970-01-01
    相关资源
    最近更新 更多