import (
"fmt"
+ "io/ioutil"
"os"
"os/user"
"strings"
//TODO: for test
cfg.CheckFreqSeconds = 1
- usr, err := user.Current()
+ dir, err := makePath()
if err != nil {
log.Fatal(err)
}
- folderPath := usr.HomeDir + "/.precog"
- if err := os.MkdirAll(folderPath, os.ModePerm); err != nil {
- log.Fatalf("failed to create data folder: %v", err)
- }
-
nodeCfg := &vaporCfg.Config{
BaseConfig: vaporCfg.DefaultBaseConfig(),
P2P: vaporCfg.DefaultP2PConfig(),
Federation: vaporCfg.DefaultFederationConfig(),
}
- nodeCfg.DBPath = folderPath
+ nodeCfg.DBPath = dir
nodeCfg.ChainID = "mainnet"
discvCh := make(chan *dht.Node)
privKey, err := signlib.NewPrivKey()
}
}
+func makePath() (string, error) {
+ usr, err := user.Current()
+ if err != nil {
+ return "", err
+ }
+
+ dataPath := usr.HomeDir + "/.precog"
+ if err := os.MkdirAll(dataPath, os.ModePerm); err != nil {
+ return "", err
+ }
+
+ tmpDir, err := ioutil.TempDir(dataPath, "")
+ if err != nil {
+ return "", err
+ }
+
+ return tmpDir, nil
+}
+
func (m *monitor) Run() {
defer os.RemoveAll(m.nodeCfg.DBPath)