From a504f461415c96920ee3fbb9a6c9c84c5e1ea8e8 Mon Sep 17 00:00:00 2001 From: p4u Date: Fri, 14 Dec 2018 14:13:13 +0100 Subject: [PATCH] Fix names and update README --- tree/README.md | 16 ++++++++-------- tree/tree.go | 40 ++++++++++++++++++++-------------------- 2 files changed, 28 insertions(+), 28 deletions(-) diff --git a/tree/README.md b/tree/README.md index 3e9af9d..7a75955 100644 --- a/tree/README.md +++ b/tree/README.md @@ -1,22 +1,22 @@ -#### Dvote Tree +## dvote Tree Implementation of dvote tree structure. Currently based on iden3 merkle tree. Example of usage: ``` - T := tree.Tree {namespace: "vocdoni"} - if T.init() != nil { fmt.Println("Cannot create tree database") } - err := T.addClaim([]byte("Hello you!")) + T := tree.Tree + if T.Init() != nil { fmt.Println("Cannot create tree database") } + err := T.AddClaim([]byte("Hello you!")) if err != nil { fmt.Println("Claim already exist") } - mpHex, err := T.genProof([]byte("Hello you!")) + mpHex, err := T.GenProof([]byte("Hello you!")) fmt.Println(mpHex) - fmt.Println(T.checkProof([]byte("Hello you!"), mpHex)) - T.close() + fmt.Println(T.CheckProof([]byte("Hello you!"), mpHex)) + T.Close() ``` -### To-Do +#### To-Do + Add export/import methods diff --git a/tree/tree.go b/tree/tree.go index d1578d2..7445859 100644 --- a/tree/tree.go +++ b/tree/tree.go @@ -9,19 +9,19 @@ import ( ) type Tree struct { - namespace string - storage string - tree *merkletree.MerkleTree + Namespace string + Storage string + Tree *merkletree.MerkleTree } -func (t *Tree) init() error { - if len(t.storage) < 1 { +func (t *Tree) Init() error { + if len(t.Storage) < 1 { usr, err := user.Current() if err == nil { - t.storage = usr.HomeDir + "/.dvote/Tree" - } else { t.storage = "./dvoteTree" } + t.Storage = usr.HomeDir + "/.dvote/Tree" + } else { t.Storage = "./dvoteTree" } } - mtdb, err := db.NewLevelDbStorage(t.storage, false) + mtdb, err := db.NewLevelDbStorage(t.Storage, false) if err != nil { return err } @@ -29,22 +29,22 @@ func (t *Tree) init() error { if err != nil { return err } - t.tree = mt + t.Tree = mt return nil } -func (t *Tree) close() { - defer t.tree.Storage().Close() +func (t *Tree) Close() { + defer t.Tree.Storage().Close() } -func (t *Tree) addClaim(data []byte) error { - claim := mkcore.NewGenericClaim(t.namespace, "default", data, nil) - return t.tree.Add(claim) +func (t *Tree) AddClaim(data []byte) error { + claim := mkcore.NewGenericClaim(t.Namespace, "default", data, nil) + return t.Tree.Add(claim) } -func (t *Tree) genProof(data []byte) (string, error) { - claim := mkcore.NewGenericClaim(t.namespace, "default", data, nil) - mp, err := t.tree.GenerateProof(claim.Hi()) +func (t *Tree) GenProof(data []byte) (string, error) { + claim := mkcore.NewGenericClaim(t.Namespace, "default", data, nil) + mp, err := t.Tree.GenerateProof(claim.Hi()) if err!=nil { return "", err } @@ -52,11 +52,11 @@ func (t *Tree) genProof(data []byte) (string, error) { return mpHex, nil } -func (t *Tree) checkProof(data []byte, mpHex string) (bool, error) { +func (t *Tree) CheckProof(data []byte, mpHex string) (bool, error) { mp, err := common3.HexToBytes(mpHex) if err != nil { return false, err } - claim := mkcore.NewGenericClaim(t.namespace, "default", data, nil) - return merkletree.CheckProof(t.tree.Root(), mp, claim.Hi(), claim.Ht(), t.tree.NumLevels()), nil + claim := mkcore.NewGenericClaim(t.Namespace, "default", data, nil) + return merkletree.CheckProof(t.Tree.Root(), mp, claim.Hi(), claim.Ht(), t.Tree.NumLevels()), nil }