[华为手机怎么下载metamask]华为手机怎么下
137 2023-06-16
图1生成Merkle tree
Merkle tree节点存储double SHA256核算成果。这两个买卖信息表明在Merkle tree的生成进程Merkle tree中怎么体现。
HA = SHA256
相同,Tx1核算double SHA256将成果存储在HB中。
HB = SAH256
SHA256的运算成果是64bytes的HEX字符串。得到了HAHBHA+HB
又HA+HBHAB
HAB = SAH256
成果HAB是HA以及HB的父节点。这是三个节点的binaryMerkle tree。
假如存在当时的Tx0、Tx1、Tx2和Tx3个买卖,则完好的double SHA256核算进程如下。
HA = SHA256
HB = SAH256
HC = SAH256
HD = SAH256
HAB = SAH256
HCD = SAH256
HAD = SAH256
最终取得的binaryMerkle tree是图2。
首要merkle装置模块。
接下来merkle导入模块。
树立root node,指定SHA-256算法的运用。
宣布几个买卖信息。例如,如下所示。
//创立新业务
买卖的内容现阶段能够恣意填写。例如,有4个买卖信息的状况
//发明4个新的买卖记载
var Tx = a, b, c, d
现在仅仅生成操练Merkle tree,买卖的材料结构还没有界说,能够填写恣意的内容。
调用async函数发送并树立一切买卖信息Merkle tree:
};
//创立新业务
var Tx = a, b, c, d
};
成果:
如图2所示,Merkle tree是binary tree,4买卖量算计6节点,“高度”是3。这个高度叫做level。
图2Merkle tree的depth是2
这将levels是3的Merkle tree,除掉leafnodes的高度称为depth。因而
HA以及HB称为leafnodes
这个Merkle tree的depth是2
这个Merkle tree的level是3
接着,在上述比如中,取得该Merkle tree的depth以及levels。
};
成果:
别的,调用level函数是指定的level一切节点,例如
};
输出成果:
如图2所示
level0是根节点
level1个节点有2个
要显现一切节点,程序代码如下所示。
//打印一切节点
for i = 0; i tree.levels {
};
实践制造程序,调查4个买卖信息Merkle tree:
//4件买卖信息
var Tx = a, b, c, d
//打印一切节点
for i = 0; i tree.levels {
};
输出成果:
为了协助学习,图3直观地示出了这个比如的成果。
图3的可视化Merkle tree
学习节点的运用方法js生成Merkle tree,进一步理解了Merkle tree的结构。