go-dvote/main.go
main.goRaw
1package main
2
3import (
4 "fmt"
5 "github.com/syndtr/goleveldb/leveldb"
6 "time"
7 "github.com/vocdoni/dvote-relay/batch"
8)
9
10var dbPath = "$HOME/.dvote/relay.db"
11var bdbPath = "$HOME/.dvote/batch.db"
12var batchSeconds = 3 //seconds
13
14var err error
15var db *leveldb.DB
16var bdb *leveldb.DB
17var batchTimer *time.Ticker
18var batchSignal chan int
19
20
21func setup() {
22 db, err = leveldb.OpenFile(dbPath, nil)
23 if err != nil {
24 panic(err)
25 }
26 defer db.Close()
27
28 bdb, err = leveldb.OpenFile(bdbPath, nil)
29 if err != nil {
30 panic(err)
31 }
32 defer bdb.Close()
33
34 batchTimer = time.NewTicker(time.Second * time.Duration(batchSeconds))
35 //create batch signal channel
36}
37
38func main() {
39 setup()
40 fmt.Println("Entering main loop")
41 for {
42 select {
43 case <- batchTimer.C:
44 fmt.Println("Timer triggered")
45 fmt.Println(batch.Create(bdb))
46 //replace with chain link
47 case <- batchSignal:
48 fmt.Println("Signal triggered")
49 fmt.Println(batch.Create(bdb))
50// case <- stopSignal:
51// return
52 }
53 }
54}