此时我无法找到有关如何在 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/