go-dvote/main.go
main.goRaw
1package main
2
3import (
4 "fmt"
5 "time"
6 "github.com/vocdoni/dvote-relay/batch"
7 "github.com/vocdoni/dvote-relay/net"
8 "github.com/vocdoni/dvote-relay/db"
9)
10
11var dbPath = "~/.dvote/relay.db"
12var batchSeconds = 10 //seconds
13var batchSize = 3 //packets
14
15var err error
16var batchTimer *time.Ticker
17var batchSignal chan bool
18var signal bool
19
20
21func main() {
22
23 db, err := db.NewLevelDbStorage(dbPath, false)
24 if err != nil {
25 panic(err)
26 }
27 defer db.Close()
28
29 batch.Setup(db)
30
31 batchTimer = time.NewTicker(time.Second * time.Duration(batchSeconds))
32 batchSignal = make(chan bool)
33
34 batch.BatchSignal = batchSignal
35 batch.BatchSize = batchSize
36
37 fmt.Println("Entering main loop")
38 go net.Listen("8080")
39 for {
40 select {
41 case <- batchTimer.C:
42 fmt.Println("Timer triggered")
43// fmt.Println(batch.Create())
44 //replace with chain link
45 case signal := <-batchSignal:
46 if signal == true {
47 fmt.Println("Signal triggered")
48 n, b := batch.Create()
49 fmt.Println("Nullifiers:")
50 fmt.Println(n)
51 fmt.Println("Batch:")
52 fmt.Println(b)
53 batch.Compact(n)
54 }
55 default:
56 continue
57 }
58 }
59}