Fixed depth merkle tree implementation with sequential inserts
Go to file
2020-07-31 18:27:28 +03:00
.github/workflows npmignore 2020-07-31 15:03:42 +03:00
src fix capacity bug, add more tests 2020-07-31 18:24:10 +03:00
test fix linter 2020-07-31 18:27:28 +03:00
.editorconfig initial 2020-07-31 06:15:29 +03:00
.eslintrc initial 2020-07-31 06:15:29 +03:00
.gitignore initial 2020-07-31 06:15:29 +03:00
package-lock.json lint, CI, auto publish to NPM 2020-07-31 06:37:10 +03:00
package.json fix capacity bug, add more tests 2020-07-31 18:24:10 +03:00
README.md rename proof() -> path() 2020-07-31 17:19:20 +03:00

Merkle Tree GitHub Workflow Status npm

This is a fixed depth merkle tree implementation with sequential inserts

Usage

const MerkleTree = require('MerkleTree')
const tree = new MerkleTree(10, [1, 2, 3, 4, 5])
tree.insert(6)
tree.update(3, 42)
const path = tree.path(tree.indexOf(2))
console.log(path)

// output:
{
  pathIndex: [0, 1, 0, 0, 0, 0, 0, 0, 0, 0],
  pathElements: [
    '42',
    '19814528709687996974327303300007262407299502847885145507292406548098437687919',
    '11545490348087423460235196042660837039811055736960842865648632633825765931887',
    '14506027710748750947258687001455876266559341618222612722926156490737302846427',
    '4766583705360062980279572762279781527342845808161105063909171241304075622345',
    '16640205414190175414380077665118269450294358858897019640557533278896634808665',
    '13024477302430254842915163302704885770955784224100349847438808884122720088412',
    '11345696205391376769769683860277269518617256738724086786512014734609753488820',
    '17235543131546745471991808272245772046758360534180976603221801364506032471936',
    '155962837046691114236524362966874066300454611955781275944230309195800494087'
  ]
}