12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- package main
- import (
- "flag"
- "fmt"
- Log "mlog"
- "os"
- "runtime"
- "template"
- //"github.com/bolt-master"
- tml "github.com/toml-master"
- )
- var (
- configPath = flag.String("f", "./coinproxy.toml", "configfile")
- Gconfig config
- log *Log.Logger
- CPUNUM = runtime.NumCPU()
- BucketSC string = "SC"
- )
- type config struct {
- Title string
- Log loginfo `toml:"log"`
- DB databaseinfo `toml:"db"`
- HttpServer httpServer `toml:"httpserver"`
- CoinType cointype
- }
- type loginfo struct {
- Loglevel string
- Logpath string
- }
- type httpServer struct {
- HttpBindAddr string
- }
- type databaseinfo struct {
- DbPath string
- }
- type cointype struct {
- Type []string
- Sigkey string
- }
- func coinInit() {
- runtime.GOMAXPROCS(CPUNUM)
- flag.PrintDefaults()
- flag.Parse()
- if _, err := tml.DecodeFile(*configPath, &Gconfig); err != nil {
- fmt.Println(err)
- os.Exit(0)
- }
- fmt.Printf("%+v\n", Gconfig)
- var err error
- log, err = Log.New(Gconfig.Log.Logpath, Gconfig.Log.Loglevel)
- if err != nil {
- log.Error(err.Error())
- os.Exit(0)
- }
- initChanHandler(CPUNUM)
- // if db.initBoltDb() == false {
- // log.Error("init bolt db error")
- // os.Exit(0)
- // }
- for _, cointype := range Gconfig.CoinType.Type {
- coin, err := template.New(cointype)
- if err != nil {
- log.Error(err.Error())
- os.Exit(0)
- }
- if coin.InitDriver(nil) == false {
- log.Error("InitDriver error.driver name:%s", cointype)
- os.Exit(0)
- }
- }
- }
|