生成默克尔树
type MerkleTree struct {
RootNode *MerkleNode
}
type MerkleNode struct {
Left *MerkleNode
Right *MerkleNode
Data []byte
}
/*
对默克尔节点进行hash256
*/
func hashMerkleNodes(isLeaf bool ,merkleNodes []*MerkleNode) (returnMerkleNodes []*MerkleNode) {
//如果不是叶子,且只有一个节点传入,这是根节点,返回
if !isLeaf && len(merkleNodes) == 1 {
return merkleNodes
}
var nodeLen = len(merkleNodes)
//判断节点奇偶,奇数复制最后一份
var isHaveCopy = false