【问题标题】:Multi update on ledger using Putstate() in ChaincodeStub在 ChaincodeStub 中使用 Putstate() 对账本进行多次更新
【发布时间】:2018-12-05 16:45:02
【问题描述】:

我有一个场景,我必须同时更新分类帐中的多个交易。

在简单的情况下,必须同时执行两个事务才能使用例有效。如果其中任何一个失败,另一个应该恢复。

err = stub.PutState(key, tradeJSONasBytes)

使用超级账本 1.1 和 golang 智能合约。

【问题讨论】:

  • Fabric 没有还原交易的概念——毕竟,不可变账本是它的基础。也许您的客户可以发送 2 个 tx-proposals 并且只有当它成功收到两个提案时,它才能发送它们以进行订购。
  • 您可以做的,可能是实现代码,使您在出现故障时使用“deleteState”或“deletePrivateData”。这基本上会隐藏记录,并且当您查询时,不会返回。但是,它仍然是分类帐的一部分。

标签: hyperledger-fabric hyperledger smartcontracts


【解决方案1】:

如果你想保存多个交易,你可以调用多个PutState(),但没有什么比恢复交易更好的了,即使交易失败,它仍然作为一个块存储,因为它是不可变条件的一部分。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-07
    • 2015-01-15
    • 1970-01-01
    • 2016-08-16
    • 1970-01-01
    • 2011-04-02
    • 2018-09-18
    • 1970-01-01
    相关资源
    最近更新 更多