Hyperledger Fabric Version 2:如何使用 Fabric Node SDK 2.2 查询数据哈希、先前哈希等块头

Hyperledger Fabric Version 2: How to query Block Header such as data hash, previous hash by using Fabric Node SDK 2.2

我正在尝试构建一个去中心化的应用程序,它能够像数据哈希一样显示块头,当用户提交新交易时,块的前一个哈希值。但是,Fabric Node SDK 2.2 的新版本似乎删除了函数查询块。

我参考了 https://hyperledger.github.io/fabric-sdk-node/release-2.2/module-fabric-network.html 上的文档,目前仍在寻找一些解决方法来显示用户交易的区块信息。

我希望实现的理想输出与 Hyperledger Explorer provide.The 参考几乎相似,可在以下位置查看:

其中显示了诸如块数、数据哈希、先前哈希和其他有关哈希的块信息等信息。

我能收集到的一些信息

  1. 界面BlockEvent中有一些信息,例如BlockEvent,名称为blockData。但是,npm install i fabric-network.

    时我似乎找不到它
  2. 由于用户可以通过账本查询和查询自己的hash,交易成功后需要返回一个key或hash给用户。有什么 API 功能吗?至此,我发现classTransaction中有getTransactionId()。但是这个是我需要用的吗?

我看过的 Whosebug 参考资料:

自从处理旧版本 1.4 版的节点 SDK 以来的所有参考。

您可以通过qscc合约的调用函数GetBlockByNumber查询区块号。示例:

const contract = network.getContract('qscc');
const resultByte = await contract.evaluateTransaction(
    'GetBlockByNumber',
    channelName,
    String(blockNum)
);
const resultJson = BlockDecoder.decode(resultByte);
logger.debug('queryBlock', resultJson);