【区块链 | Merkle】使用Merkle Tree空投,白名单验证

Merkle Tree在高效验证数据的同时减少了链上计算和存储,因为非常适合基于区块链的白名单验证,空投,IDO等需要验证数据的业务。

Merkle Tree介绍

默克尔树,在区块链出现前,曾广泛用于文件系统和P2P系统中。
在区块链中,默克尔树常用于高效验证数据,如,实现空投,白名单,IDO,混币器等。

默克尔树是一种hash树,底层叶子节点的hash变动会一层一层的传递直到树根root,所以roothash实际代表了底层所有数据的摘要,通过验证roothash来确定是否是它的叶子节点。那么只需要在链上记录树根就可以开始验证其叶子节点的归属,每当新增叶子节点,也只需更新roothash即可,而不必存储整棵树,并且roothash的计算也可放在链下进行。

Merkle Tree在高效验证数据的同时减少了链上计算和存储,因为非常适合基于区块链的白名单验证,空投,IDO等需要验证数据的业务。

创建Merkle Tree

为配合solidity,选择使用keccak256算法;
merkletree.getProof()返回的是Array of objects;merkletree.getHexProof()返回的Proof array as hex strings,更适合作为参数传入合约。

const { MerkleTree } = require('merkletreejs')
const keccak256 = require('kec

猜你喜欢

转载自blog.csdn.net/qq_28505809/article/details/127203497
今日推荐