From 8b58b361aa7d3e3642ffab3c685b22009b1542fe Mon Sep 17 00:00:00 2001 From: Andrey Date: Fri, 14 Apr 2017 16:13:14 +0300 Subject: [PATCH] Update README.md --- README.md | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a8c326f..939c508 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,41 @@ -# gomerkle +# Gomerkle [![Build Status](https://travis-ci.org/onrik/gomerkle.svg?branch=master)](https://travis-ci.org/onrik/gomerkle) [![Coverage Status](https://coveralls.io/repos/github/onrik/gomerkle/badge.svg?branch=master)](https://coveralls.io/github/onrik/gomerkle?branch=master) [![GoDoc](https://godoc.org/github.com/onrik/gomerkle?status.svg)](https://godoc.org/github.com/onrik/gomerkle) [![Go Report Card](https://goreportcard.com/badge/github.com/onrik/gomerkle)](https://goreportcard.com/report/github.com/onrik/gomerkle) Golang Merkle tree implementation + +## Usage +```go +package main + +import ( + "crypto/sha256" + + "github.com/onrik/gomerkle" +) + +func main() { + data := [][]byte{ + []byte("Buzz"), + []byte("Lenny"), + []byte("Squeeze"), + []byte("Wheezy"), + []byte("Jessie"), + []byte("Stretch"), + []byte("Buster"), + } + tree := gomerkle.NewTree(sha256.New()) + tree.AddData(data...) + + err := tree.Generate() + if err != nil { + panic(err) + } + + // Proof for Jessie + proof := tree.GetProof(4) + println(tree.VerifyProof(proof, tree.Root(), data[4])) +} +```