node.js - 如何在 Hyperledger 1.4.4 的 Node.js 中使用 setTransient 和 getTransient(示例)?

标签 node.js hyperledger-fabric hyperledger-chaincode

此时我无法找到有关如何在 Node.js 中使用 getTransient 的清晰示例。也许您可以通过正确的链接来帮助我。

假设我有一个 Node.js 客户端应用程序,它提交如下内容:

const privatePayload = new Buffer(JSON.stringify({"Args":args})).toString('base64');
const result = await contract.createTransaction(func).setTransient({"privatePayload" : privatePayload}).submit();

在我的 Node.js 链代码中,我有这样的内容:

var MAP = ctx.stub.getTransient();
...

我看到的是,数据以以下形式出现

{ privatePayload:
   { key: 'privatePayload'
     value: 
       ByteBuffer {
buffer: <Buffer 0a c1 .... >,
offset: ...,
...
}

我访问这个缓冲区,对其进行解码,发现它不仅包含我的字符串形式的有效负载,还包含 OrgMSP 的名称、证书、 channel 信息等,所有这些都在一个 block 中。我的有效负载在最后。

是否有现成的 API 可以访问我的有效负载? 该缓冲区的实际格式是什么?

最佳答案

尝试chaincodeStub.getTransient().get('key').toString('utf8')

关于node.js - 如何在 Hyperledger 1.4.4 的 Node.js 中使用 setTransient 和 getTransient(示例)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59767287/

相关文章:

hyperledger - 在链代码中维护键以存储值(状态)的正确方法。?

node.js - 在 Windows 10(64 位)上使用 virtualbox 5.2.8 在 ubuntu 16.04 LTS 中执行 "npm install"命令时出错

go - Hyperledger Fabic 2.2.0 错误处理成功响应。值与架构不匹配

hyperledger-fabric - 执行 Hyperledger Fabric 2.0 文档中的部署脚本后,链代码未部署在测试网络上

hyperledger-fabric - 无法更新订购者配置中的 batchtimeout?

node.js - 如何依赖 Oauth2 身份验证流程对 Azure 应用程序进行性能/ping 测试?

javascript - Socket.io 无法访问与 Express 相同的 session

hyperledger-fabric - Hyperledger Fabric 中的用户注册和登录

javascript - Node js 和 eBay API 实现

node.js - 无法连接到远程 redis 主机 [nodeJS]