ipld-eth-server/cmd/run/main.go
Matt K 572023cdf5 Commandline (#135)
* Add cmd line tool and Makefile

* Add shared utils pkg

* Add cmdline README

* Update godo for new structure
2018-01-25 13:21:55 -06:00

36 lines
729 B
Go

package main
import (
"flag"
"time"
"os"
"github.com/8thlight/vulcanizedb/pkg/geth"
"github.com/8thlight/vulcanizedb/pkg/history"
"github.com/8thlight/vulcanizedb/utils"
)
const (
pollingInterval = 7 * time.Second
)
func main() {
environment := flag.String("environment", "", "Environment name")
flag.Parse()
ticker := time.NewTicker(pollingInterval)
defer ticker.Stop()
config := utils.LoadConfig(*environment)
blockchain := geth.NewBlockchain(config.Client.IPCPath)
repository := utils.LoadPostgres(config.Database, blockchain.Node())
validator := history.NewBlockValidator(blockchain, repository, 15)
for range ticker.C {
window := validator.ValidateBlocks()
validator.Log(os.Stdout, window)
}
}