0

我正在对 Hyperledger Composer 的结构 (v1.0.4) 使用 Hyperledger Explorer,因此可以查看块数据。但是它们似乎不正确,例如:

#2 hash:     38afae3941a400149c8508f7d8e4a26bf938cf60dd3a6f4be602ec829f7115fd
   previous: e4617a6446d30628b723206d3f0a0e61308e08dc5eef502bb4c87d228c1c4d10

#1 hash:     5db250d70a874db0fbe186b8c39f28b41d17cab09d5515284688844b8834ca19
   previous: 3f9cb6a6c20d50b0c9908cfc9505832a30a39f253ba70409a7cb1b2b948ffd48

#0 hash:     abc8d27b021ae9636ae379926a5a1a14b96fe9f4a04d9653c72a935c43bd087e
   previous: (none indeed)

每个块的前一个哈希与前一个块的哈希不匹配。你有同样的观察吗?这是对 data_hash 的误解吗?

谢谢!

4

1 回答 1

1

查看块的结构内部,

{
  header: {
    number: {}, 
    previous_hash: "e4617a6446d30628b723206d3f0a0e61308e08dc5eef502bb4c87d228c1c4d10", 
    data_hash: "38afae3941a400149c8508f7d8e4a26bf938cf60dd3a6f4be602ec829f7115fd"
  }, 
  data: {
    data: []
  }, 
  metadata: {
    metadata: []
  }
}

data_hash仅使用当前块的数据对象计算并写入其头部。不得与currentBlockHash混淆。

currentBlockHash块哈希是通过对连接的 ASN.1 编码字节进行哈希计算得出的:块号、前一个块哈希和当前块数据哈希。区块哈希链保证了账本的不变性

https://fabric-sdk-node.github.io/global.html#BlockchainInfo__anchor

currentBlockHash将是下一个块的previousBlockHash

于 2018-03-19T17:41:57.057 回答