create new dir fix
This commit is contained in:
parent
e7a9e1092b
commit
f65d0d1ee1
4 changed files with 22 additions and 13 deletions
|
|
@ -252,18 +252,23 @@ func UpdateGenesisJson(nodeInfo p2p.NodeInfo, v *viper.Viper, defaultConfigDirec
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func InitGenesis(chainName, defaultConfigPath string) (*cfg.Config, *viper.Viper) {
|
func InitGenesis(chainName, defaultConfigPath string) (*cfg.Config, *viper.Viper, error) {
|
||||||
config := cfg.DefaultConfig()
|
config := cfg.DefaultConfig()
|
||||||
config.RootDir = filepath.Dir(filepath.Dir(defaultConfigPath))
|
config.RootDir = filepath.Dir(filepath.Dir(defaultConfigPath))
|
||||||
|
|
||||||
nodeinfo := p2p.DefaultNodeInfo{}
|
// Создаём директорию, если её нет
|
||||||
viper := WriteConfig(config, &defaultConfigPath, nodeinfo)
|
if err := os.MkdirAll(config.RootDir, 0o755); err != nil {
|
||||||
if err := InitTendermintFiles(config, true, chainName); err != nil {
|
return nil, nil, fmt.Errorf("failed to create config directory %s: %w", config.RootDir, err)
|
||||||
fmt.Fprintf(os.Stderr, "Failed to init files: %v\n", err)
|
|
||||||
panic(err)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return config, viper
|
nodeinfo := p2p.DefaultNodeInfo{}
|
||||||
|
viper := WriteConfig(config, &defaultConfigPath, nodeinfo)
|
||||||
|
|
||||||
|
if err := InitTendermintFiles(config, true, chainName); err != nil {
|
||||||
|
return nil, nil, fmt.Errorf("failed to init tendermint files: %w", err)
|
||||||
|
}
|
||||||
|
|
||||||
|
return config, viper, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func InitJoiner(chainName, defaultConfigPath, path string) error {
|
func InitJoiner(chainName, defaultConfigPath, path string) error {
|
||||||
|
|
|
||||||
10
cli/init.go
10
cli/init.go
|
|
@ -18,7 +18,11 @@ var initCmd = &cobra.Command{
|
||||||
Run: func(cmd *cobra.Command, args []string) {
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
switch args[0] {
|
switch args[0] {
|
||||||
case "genesis":
|
case "genesis":
|
||||||
config, viper := cfg.InitGenesis(chainName, defaultConfigPath)
|
config, viper, err := cfg.InitGenesis(chainName, defaultConfigPath)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Fprintf(os.Stderr, "Error: %v", err)
|
||||||
|
panic(err)
|
||||||
|
}
|
||||||
nodeinfo, err := blockchain.GetNodeInfo(config, dbPath)
|
nodeinfo, err := blockchain.GetNodeInfo(config, dbPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "Error: %v", err)
|
fmt.Fprintf(os.Stderr, "Error: %v", err)
|
||||||
|
|
@ -30,14 +34,14 @@ var initCmd = &cobra.Command{
|
||||||
case "join":
|
case "join":
|
||||||
if len(args) < 2 {
|
if len(args) < 2 {
|
||||||
fmt.Fprintln(os.Stderr, "Укажите путь к genesis.json")
|
fmt.Fprintln(os.Stderr, "Укажите путь к genesis.json")
|
||||||
os.Exit(1)
|
return
|
||||||
}
|
}
|
||||||
cfg.InitJoiner(chainName, defaultConfigPath, args[1])
|
cfg.InitJoiner(chainName, defaultConfigPath, args[1])
|
||||||
|
|
||||||
fmt.Println("Joiner node initialized.")
|
fmt.Println("Joiner node initialized.")
|
||||||
default:
|
default:
|
||||||
fmt.Fprintf(os.Stderr, "Неизвестный режим init: %s\n", args[0])
|
fmt.Fprintf(os.Stderr, "Неизвестный режим init: %s\n", args[0])
|
||||||
os.Exit(1)
|
return
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ var rootCmd = &cobra.Command{
|
||||||
|
|
||||||
По умолчанию файл конфигурации ищется по пути: %s
|
По умолчанию файл конфигурации ищется по пути: %s
|
||||||
`, err, defaultConfigPath)
|
`, err, defaultConfigPath)
|
||||||
os.Exit(1)
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
config, err := cfg.ReadConfig(defaultConfigPath)
|
config, err := cfg.ReadConfig(defaultConfigPath)
|
||||||
|
|
@ -70,7 +70,7 @@ var rootCmd = &cobra.Command{
|
||||||
func Execute() {
|
func Execute() {
|
||||||
if err := rootCmd.Execute(); err != nil {
|
if err := rootCmd.Execute(); err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "ошибка: %v\n", err)
|
fmt.Fprintf(os.Stderr, "ошибка: %v\n", err)
|
||||||
os.Exit(1)
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ var testYggdrasilCmd = &cobra.Command{
|
||||||
v, err := cfg.LoadViperConfig(defaultConfigPath)
|
v, err := cfg.LoadViperConfig(defaultConfigPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
fmt.Fprintf(os.Stderr, "не удалось прочитать конфигурацию viper: %v", err)
|
fmt.Fprintf(os.Stderr, "не удалось прочитать конфигурацию viper: %v", err)
|
||||||
os.Exit(1)
|
return err
|
||||||
}
|
}
|
||||||
config, err := cfg.ReadConfig(defaultConfigPath)
|
config, err := cfg.ReadConfig(defaultConfigPath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue