mirror of
https://github.com/fluencelabs/tendermint
synced 2025-04-25 14:52:17 +00:00
Merge pull request #1318 from tendermint/bucky/testnet-cmd-fix
testnet cmd: ensure config dir exists. closes #1290
This commit is contained in:
commit
ff1ec0260e
@ -75,15 +75,16 @@ func testnetFiles(cmd *cobra.Command, args []string) {
|
|||||||
|
|
||||||
// Initialize per-machine core directory
|
// Initialize per-machine core directory
|
||||||
func initMachCoreDirectory(base, mach string) error {
|
func initMachCoreDirectory(base, mach string) error {
|
||||||
|
// Create priv_validator.json file if not present
|
||||||
|
defaultConfig := cfg.DefaultBaseConfig()
|
||||||
dir := filepath.Join(base, mach)
|
dir := filepath.Join(base, mach)
|
||||||
err := cmn.EnsureDir(dir, 0777)
|
privValPath := filepath.Join(dir, defaultConfig.PrivValidator)
|
||||||
|
dir = filepath.Dir(privValPath)
|
||||||
|
err := cmn.EnsureDir(dir, 0700)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
ensurePrivValidator(privValPath)
|
||||||
// Create priv_validator.json file if not present
|
|
||||||
defaultConfig := cfg.DefaultBaseConfig()
|
|
||||||
ensurePrivValidator(filepath.Join(dir, defaultConfig.PrivValidator))
|
|
||||||
return nil
|
return nil
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -98,6 +98,7 @@ type PrivValidator interface {
|
|||||||
// PrivValidatorFS implements PrivValidator using data persisted to disk
|
// PrivValidatorFS implements PrivValidator using data persisted to disk
|
||||||
// to prevent double signing. The Signer itself can be mutated to use
|
// to prevent double signing. The Signer itself can be mutated to use
|
||||||
// something besides the default, for instance a hardware signer.
|
// something besides the default, for instance a hardware signer.
|
||||||
|
// NOTE: the directory containing the privVal.filePath must already exist.
|
||||||
type PrivValidatorFS struct {
|
type PrivValidatorFS struct {
|
||||||
Address Address `json:"address"`
|
Address Address `json:"address"`
|
||||||
PubKey crypto.PubKey `json:"pub_key"`
|
PubKey crypto.PubKey `json:"pub_key"`
|
||||||
@ -217,18 +218,17 @@ func (privVal *PrivValidatorFS) Save() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (privVal *PrivValidatorFS) save() {
|
func (privVal *PrivValidatorFS) save() {
|
||||||
if privVal.filePath == "" {
|
outFile := privVal.filePath
|
||||||
cmn.PanicSanity("Cannot save PrivValidator: filePath not set")
|
if outFile == "" {
|
||||||
|
panic("Cannot save PrivValidator: filePath not set")
|
||||||
}
|
}
|
||||||
jsonBytes, err := json.Marshal(privVal)
|
jsonBytes, err := json.Marshal(privVal)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// `@; BOOM!!!
|
panic(err)
|
||||||
cmn.PanicCrisis(err)
|
|
||||||
}
|
}
|
||||||
err = cmn.WriteFileAtomic(privVal.filePath, jsonBytes, 0600)
|
err = cmn.WriteFileAtomic(outFile, jsonBytes, 0600)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// `@; BOOM!!!
|
panic(err)
|
||||||
cmn.PanicCrisis(err)
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user