@dcl/content-hash-tree
v1.1.4
Published
Lib to generate and validate a merkle tree of content hashes
Downloads
4,948
Maintainers
Readme
@dcl/content-hash-tree
Idea from @uniswap/merkle-distributor
Local Development
The following assumes the use of node@>=10
.
Install Dependencies
npm ci
Lib
Generate a tree
import { generateTree } from '@dcl/content-hash-tree'
const contentHashes = ['hash1', 'hash2', 'hash3']
const tree = generateTree(contentHashes)
Verify whether a contnet hash is part of the tree or not
import { verifyProof } from '@dcl/content-hash-tree'
const contentHashes = ['hash1', 'hash2', 'hash3']
const proof = tree.getProof(0, contentHashes[0])
const root = tree.getHexRoot()
const isPartOfTheTree = verifyProof(0, contentHashes[0], proof, root)
CLI (Benchmark)
Generate a tree with content hashes
npm run generate-merkle-root:data
~10k items: time to completion 788.8ms. Json size: 10mb ~100k items: time to completion 6.7s. Json size: 124mb
This will generate a proofs.json
file in the root of the project.
Verify a single proof of a tree with ~100k leafs
npm run verify-merkle-root:proof
Time to completion 9.294ms. Json size: 4kb