如何在fabric-sdk-go中通过TxnID获取存储在分类帐中的数据?

时间:2019-12-11 11:34:16

标签: go hyperledger-fabric hyperledger-fabric-sdk-go

我已经在ABC中存储了一个数据,并以X123作为交易哈希作为响应。现在,我想使用此交易哈希X123从分类帐中获取数据ABC。我发现this package提供了方法QueryTransaction(txn_hash)并指出QueryTransaction queries the ledger for processed transaction by transaction ID

我的问题是:

  1. 这是执行上述操作的正确方法吗?如果否,请提出一些方法。
  2. 如果是,我必须使用一些解析逻辑来正确格式化吗?

  3. go-sdk中是否有解析逻辑或解码器,就像BlockDecoder中有node-sdk一样?

使用此方法得到的响应的屏幕截图。

QueryTransaction response

1 个答案:

答案 0 :(得分:1)

https://github.com/hyperledger/fabric-samples

下载面料样品

Q1:在余额转移项目中。在app.js的底部,所有方法都已实现。

  1. 查询按块号获取块
  2. 通过交易ID查询获取交易
  3. 查询按哈希获取阻止
  4. 查询频道信息
  5. 查询渠道实例化链码
  6. 查询以获取所有已安装/实例化的链码
  7. 查询以获取频道

所有功能都在Query.js中定义,请参考此项目。

第二季度:所有请求的数据都将以JSON格式发送,因此无需解析。

Q3:即使您要解码任何.pb文件,也要使用configtxlator工具,请确保您具有configtxlater二进制文件。要解码.pb文件,请使用以下命令 对于信封

  

configtxlator proto_decode-输入your_file.pb-类型common.Envelope

对于阻止文件

  

configtxlator proto_decode-输入config_block.pb-类型common.Block | jq .data.data [0] .payload.data.config> config.json