我正在针对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是什么的错误描述?
谢谢!
答案 0 :(得分:0)
查看块的结构,
{
header: {
number: {},
previous_hash: "e4617a6446d30628b723206d3f0a0e61308e08dc5eef502bb4c87d228c1c4d10",
data_hash: "38afae3941a400149c8508f7d8e4a26bf938cf60dd3a6f4be602ec829f7115fd"
},
data: {
data: []
},
metadata: {
metadata: []
}
}
data_hash 仅使用当前块的数据对象计算并写入其标题。不得与 currentBlockHash 混淆。
currentBlockHash 通过对连接的ASN.1编码字节进行散列计算块散列:块号,前一个块 hash和当前块数据哈希。它是块哈希的链 这保证了分类账的不变性
https://fabric-sdk-node.github.io/global.html#BlockchainInfo__anchor
currentBlockHash 将是下一个区块的 previousBlockHash 。