getHistoryForKey()Hyperledger Fabric从缓冲区nodejs获取事务

问题描述 投票:0回答:2

我正在尝试使用getHistoryForKey()方法获取nodejs中某个值的交易和修改,但是当我尝试查看链码响应时这是返回的数据:

{ type: 'Buffer',
  data: [ 91, 111, 98, 106, 101, 99, 116, 32, 79, 98, 106, 101, 99, 116, 93 ] }

但是我无权访问交易详细信息。

这是我用来从链码获取交易明细的代码

    const result = await contract.evaluateTransaction('getHistory', req.params.id.toString());
    let resultStr=JSON.stringify(result);
    console.log(JSON.parse(resultStr));
    console.log(JSON.parse(resultStr).data.toString());

您知道如何访问数据吗?谢谢

node.js hyperledger-fabric hyperledger
2个回答
0
投票

result将是一个Buffer对象。您可以使用.toString()将其转换为JavaScript字符串,即result.toString()。当您调用的事务定义了返回的结果时,您将需要了解事务返回的内容,例如,它可能是JSON字符串,因此要将其转换为Javascript对象,可以使用JSON.parse


0
投票

确定,我找到了一个解决方案,问题在于返回的对象应该在返回缓冲区之前进行迭代

© www.soinside.com 2019 - 2024. All rights reserved.