如何在超级账本结构的视图页面上使用节点 js 显示当前哈希值和先前哈希值

use*_*985 3 node.js hyperledger-fabric

我试图像链表一样遍历区块链。我只通过提供的块号从块中找到以前的散列,如何使用节点 js 获取块的当前散列,我有兴趣在视图页面上显示。

小智 6

节点 sdk 不提供当前的哈希值,但可以使用与此类似的代码从块的头部计算它。

var sha = require('js-sha256');
var asn = require('asn1.js');
var calculateBlockHash = function(header) {
  let headerAsn = asn.define('headerAsn', function() {
    this.seq().obj(
      this.key('Number').int(),
      this.key('PreviousHash').octstr(),
     this.key('DataHash').octstr()
   );
 });

  let output = headerAsn.encode({
      Number: parseInt(header.number),
      PreviousHash: Buffer.from(header.previous_hash, 'hex'),
      DataHash: Buffer.from(header.data_hash, 'hex')
    }, 'der');
  let hash = sha.sha256(output);
  return hash;
};
Run Code Online (Sandbox Code Playgroud)