【问题标题】:Reading data from a Hyperledger Fabric transaction using Go SDK使用 Go SDK 从 Hyperledger Fabric 交易中读取数据
【发布时间】:2020-07-17 18:25:13
【问题描述】:

我想在 Hyperledger Fabric 上锚定一些数据,这些数据应该是不可变的,这样当我以后任何时候读取这个值时,该值应该保持不变。

我想我可以修改 stateDB 并使用 stub.PutState 将该数据存储为键值对

{
  "data": "mydata"
}

并记下交易 ID。

但是,由于状态数据库是可变的,我可以做这样的事情而不是做stub.GetState

stub.GetHistoryForKey("data")

遍历并匹配事务ID,然后读取key的值。

但是,鉴于我已经拥有交易 ID 而不是遍历历史记录,有没有办法直接从交易中读取此值?

或者有更好的方法吗?

【问题讨论】:

  • 您可以使用QueryTransaction方法通过交易ID查询账本处理的交易。

标签: hyperledger-fabric hyperledger-chaincode


【解决方案1】:

您可以使用QueryBlockByTxnID 方法或QueryTransaction 方法(正如kartik 在评论中提到的那样)。但需要自己解析或格式化数据。

这里是 github 参考:https://github.com/hyperledger/fabric-sdk-go/blob/87f5eb8a655f3d2588e5d1729b2ecf888e52f4ac/pkg/client/ledger/ledger.go#L277

【讨论】:

    猜你喜欢
    • 2023-03-21
    • 2019-06-28
    • 2018-02-25
    • 1970-01-01
    • 1970-01-01
    • 2020-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多