merkle-utils

0.0.2 • Public • Published

Merkle Utils

Install

npm install --save merkle
npm install --save merkle-utils

API

getMerkleProof(tree, leafIndex)

Get merkle proof of tree for the leaf at specified index.

Ex:

var merkle = require('merkle');
var getMerkleProof = require('merkle-utils').getMerkleProof;

var tree = merkle('sha256').sync(['a', 'b', 'c', 'd', 'e']);

getMerkleProof(tree, 3);

Ouput:

[
	{
		left: '2E7D2C03A9507AE265ECF5B5356885A53393A2029D241394997265A1A25AEFC6',
		right: '18AC3E7343F016890C510E93F935261169D9E3F565436429830FAF0934F4F8E4',
		parent: 'A99E82F486656840A790C0EF6024D2C02359DE7674A587562FEB81C8970F24DD'
	},
	{
		left: '6A20F2EE7789E6BB7F404CC2DD729FF308B724D904F6A455B74D4851ADE5AECB',
		right: 'A99E82F486656840A790C0EF6024D2C02359DE7674A587562FEB81C8970F24DD',
		parent: 'AB4587D9F4AD6990E0BF4A1C5A836C78CCE881C2B7C4287C0A7DA15B47B8CF1F'
	},
	{
	  	left: 'AB4587D9F4AD6990E0BF4A1C5A836C78CCE881C2B7C4287C0A7DA15B47B8CF1F',
		right: '3F79BB7B435B05321651DAEFD374CDC681DC06FAA65E374E38337B88CA046DEA',
		parent: '16E6BEB3E080910740A2923D6091618CAA9968AEAD8A52D187D725D199548E2C'
	}
]

API

verifyMerkleProof(proof, target, root, hashFuncName)

Verifies a merkle proof.

Ex:

var merkle = require('merkle');
var getMerkleProof = require('../lib/getMerkleProof');
var verifyMerkleProof = require('../lib/verifyMerkleProof');

var tree = merkle('sha256').sync(['a', 'b', 'c', 'd', 'e']);
var proof = getMerkleProof(tree, 2);

verifyMerkleProof(proof, tree.level(3)[2], tree.root(), 'sha256'); // true

Readme

Keywords

none

Package Sidebar

Install

npm i merkle-utils

Weekly Downloads

3

Version

0.0.2

License

MIT

Last publish

Collaborators

  • chainscript