【问题标题】:Value not reflecting in couchdb using putState in Hyperledger Fabric在 Hyperledger Fabric 中使用 putState 的值未反映在 couchdb 中
【发布时间】:2019-04-03 05:03:36
【问题描述】:

我正在尝试在 NodeJS 中使用 fabric-shim 构建一个链码应用程序。当我使用 putState(key,Buffer.from(value)) 时,值不会反映在 CouchDB 中,而在 CouchDB 中可以看到 key 和其他参数(存根等)。 任何时代为什么它不起作用?

【问题讨论】:

  • 您应该尝试在 putState(key,Buffer.from(value)) 之前记录值。可能值为空/null。

标签: node.js couchdb hyperledger-fabric hyperledger


【解决方案1】:

是的,如果您查看 CouchDB 文档,它不会显示相应键的值。但是你可以看到有一个文档的附件,它实际上有一个键的字节数组或缓冲区值。

请查看下图以查看示例附件,如果您单击它将以二进制文件的形式下载。

如果您想获取准确的值,请使用以下脚本获取数据库转储

https://github.com/danielebailo/couchdb-dump

所以在数据库转储后,您将看到 JSON 对象,其中数据作为其中的键之一,如下所示

{
  "_id": <<id>>,
  "_rev": <<rev>>,
  "~version": <<version>>,
  "_attachments": {
    "valueBytes": {
      "content_type": "application/octet-stream",
      "revpos": 1,
      "digest": <<key>>,
      "data": "AAAHAQA="  ==> <<value in Base64 format>>
    }
  }
}

使用 Base64 解码器,您可以解码以字节数组或缓冲区形式返回值的值。然后您可以将字节数组或缓冲区转换为相应的对象。

【讨论】:

    猜你喜欢
    • 2020-07-20
    • 2022-11-06
    • 2020-09-02
    • 2019-03-18
    • 2019-03-25
    • 2020-07-01
    • 1970-01-01
    • 2019-07-07
    • 1970-01-01
    相关资源
    最近更新 更多