7 log "github.com/sirupsen/logrus"
8 "github.com/vapor/crypto/ed25519/chainkd"
10 "github.com/vapor/toolbar/common"
13 func NewConfig() *Config {
14 if len(os.Args) <= 1 {
15 log.Fatal("Please setup the config file path")
18 return NewConfigWithPath(os.Args[1])
21 func NewConfigWithPath(path string) *Config {
22 configFile, err := os.Open(path)
24 log.WithFields(log.Fields{"err": err, "file_path": os.Args[1]}).Fatal("fail to open config file")
26 defer configFile.Close()
29 if err := json.NewDecoder(configFile).Decode(cfg); err != nil {
30 log.WithField("err", err).Fatal("fail to decode config file")
37 MySQLConfig common.MySQLConfig `json:"mysql"`
38 Policy Policy `json:"policy"`
39 Nodes []Node `json:"nodes"`
44 LantencyMS uint64 `json:"lantency_ms"`
48 Alias string `json:"alias"`
49 HostPort string `json:"host_port"`
50 PubKey chainkd.XPub `json:"pubkey"`
54 HostPort bool `json:"host_port"`
55 AccessToken string `json:"access_token"`
56 IsReleaseMode bool `json:"is_release_mode"`