package main import ( "fmt" "os" "github.com/tendermint/tendermint/libs/log" "github.com/tendermint/tendermint/privval" ) var ( logger = log.NewTMLogger(log.NewSyncWriter(os.Stdout)) ) func main() { args := os.Args[1:] if len(args) != 3 { fmt.Println("Expected three args: ") fmt.Println( "Eg. ~/.tendermint/config/priv_validator.json" + " ~/.tendermint/config/priv_validator_key.json" + " ~/.tendermint/data/priv_validator_state.json", ) os.Exit(1) } err := loadAndUpgrade(args[0], args[1], args[2]) if err != nil { fmt.Println(err) os.Exit(1) } } func loadAndUpgrade(oldPVPath, newPVKeyPath, newPVStatePath string) error { oldPV, err := privval.LoadOldFilePV(oldPVPath) if err != nil { return fmt.Errorf("error reading OldPrivValidator from %v: %v", oldPVPath, err) } logger.Info("Upgrading PrivValidator file", "old", oldPVPath, "newKey", newPVKeyPath, "newState", newPVStatePath, ) oldPV.Upgrade(newPVKeyPath, newPVStatePath) return nil }