/
main.go
49 lines (39 loc) · 962 Bytes
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package main
import (
"encoding/json"
"flag"
logging "github.com/ipfs/go-log"
"github.com/mining-pool/go-pool-server/config"
"github.com/mining-pool/go-pool-server/poolManager"
"github.com/mining-pool/go-pool-server/utils"
"os"
)
var log = logging.Logger("main")
const defaultConfigFileName = "config.json"
var configFileName = flag.String("c", defaultConfigFileName, "configuration file for pool")
var logLevel = flag.String("l", "info", "log level")
func main() {
flag.Parse()
lvl, err := logging.LevelFromString(*logLevel)
if err != nil {
panic(err)
}
logging.SetAllLoggers(lvl)
var conf config.Options
if !utils.FileExists(*configFileName) {
log.Panic("the config file " + *configFileName + " does not exist")
}
f, err := os.Open(*configFileName)
if err != nil {
log.Panic(err)
}
err = json.NewDecoder(f).Decode(&conf)
if err != nil {
log.Panic(err)
}
p := poolManager.NewPool(&conf)
p.Init()
for {
select {}
}
}