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\n", oldPVPath, err) } logger.Info("Upgrading PrivValidator file", "old", oldPVPath, "newKey", newPVKeyPath, "newState", newPVStatePath, ) oldPV.Upgrade(newPVKeyPath, newPVStatePath) return nil }