A simple implementation of Merkle Tree in Go.
Takes an array of strings as input and returns the Merkle root of the tree.
-
Clone the repo
git clone git@github.com:dafaqdhruv/Go-MerkleTree.git && cd Go-MerkleTree
-
Build executable
go build
-
Run with input
./merkleTree hello this is a merkle tree
Expected output
Root hash for the input string is c393dac244e2441a310dc3a8ca09b2859e3155e572f5f8074db7f35ec6a5eaaa
-
Inside repository root, switch to
merkle
directorycd merkle
-
Run test to check if package works correctly
go test
The test builds a Merkle tree using the following array as input:
["hello", "this", "is", "a", "merkle", "tree"]
The resulting Merkle tree is shown below:
graph
A(c393...eaaa) --> B(c06c...f5cd)
A --> C(487e...d094)
B --> D(8815...0d52)
B --> E(1bc4...70e2)
D --> G(2cf2...9824) --> M(hello)
D --> H(1eb7...8408) --> N(this)
E --> I(fa51...57f6) --> O(is)
E --> J(ca97...48bb) --> P(a)
C --> K(7975...5590) --> Q(merkle)
C --> L(dc9c...0622) --> R(tree)