create new dir fix

This commit is contained in:
Gregory Bednov 2025-09-17 21:57:46 +03:00
commit f65d0d1ee1
4 changed files with 22 additions and 13 deletions

View file

@ -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.RootDir = filepath.Dir(filepath.Dir(defaultConfigPath))
nodeinfo := p2p.DefaultNodeInfo{}
viper := WriteConfig(config, &defaultConfigPath, nodeinfo)
if err := InitTendermintFiles(config, true, chainName); err != nil {
fmt.Fprintf(os.Stderr, "Failed to init files: %v\n", err)
panic(err)
// Создаём директорию, если её нет
if err := os.MkdirAll(config.RootDir, 0o755); err != nil {
return nil, nil, fmt.Errorf("failed to create config directory %s: %w", config.RootDir, 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 {

View file

@ -18,7 +18,11 @@ var initCmd = &cobra.Command{
Run: func(cmd *cobra.Command, args []string) {
switch args[0] {
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)
if err != nil {
fmt.Fprintf(os.Stderr, "Error: %v", err)
@ -30,14 +34,14 @@ var initCmd = &cobra.Command{
case "join":
if len(args) < 2 {
fmt.Fprintln(os.Stderr, "Укажите путь к genesis.json")
os.Exit(1)
return
}
cfg.InitJoiner(chainName, defaultConfigPath, args[1])
fmt.Println("Joiner node initialized.")
default:
fmt.Fprintf(os.Stderr, "Неизвестный режим init: %s\n", args[0])
os.Exit(1)
return
}
},
}

View file

@ -44,7 +44,7 @@ var rootCmd = &cobra.Command{
По умолчанию файл конфигурации ищется по пути: %s
`, err, defaultConfigPath)
os.Exit(1)
return
}
config, err := cfg.ReadConfig(defaultConfigPath)
@ -70,7 +70,7 @@ var rootCmd = &cobra.Command{
func Execute() {
if err := rootCmd.Execute(); err != nil {
fmt.Fprintf(os.Stderr, "ошибка: %v\n", err)
os.Exit(1)
return
}
}

View file

@ -26,7 +26,7 @@ var testYggdrasilCmd = &cobra.Command{
v, err := cfg.LoadViperConfig(defaultConfigPath)
if err != nil {
fmt.Fprintf(os.Stderr, "не удалось прочитать конфигурацию viper: %v", err)
os.Exit(1)
return err
}
config, err := cfg.ReadConfig(defaultConfigPath)
if err != nil {