package main import ( "os" "path/filepath" cmd "github.com/tendermint/tendermint/cmd/tendermint/commands" "github.com/tendermint/tendermint/cmd/tendermint/commands/debug" cfg "github.com/tendermint/tendermint/config" "github.com/tendermint/tendermint/libs/cli" nm "github.com/tendermint/tendermint/node" ) func main() { rootCmd := cmd.RootCmd rootCmd.AddCommand( cmd.GenValidatorCmd, cmd.InitFilesCmd, cmd.ProbeUpnpCmd, cmd.LightCmd, cmd.ReplayCmd, cmd.ReplayConsoleCmd, cmd.ResetAllCmd, cmd.ResetPrivValidatorCmd, cmd.ShowValidatorCmd, cmd.TestnetFilesCmd, cmd.ShowNodeIDCmd, cmd.GenNodeKeyCmd, cmd.VersionCmd, debug.DebugCmd, cli.NewCompletionCmd(rootCmd, true), ) // NOTE: // Users wishing to: // * Use an external signer for their validators // * Supply an in-proc abci app // * Supply a genesis doc file from another source // * Provide their own DB implementation // can copy this file and use something other than the // node.NewDefault function nodeFunc := nm.NewDefault // Create & start node rootCmd.AddCommand(cmd.NewRunNodeCmd(nodeFunc)) cmd := cli.PrepareBaseCmd(rootCmd, "TM", os.ExpandEnv(filepath.Join("$HOME", cfg.DefaultTendermintDir))) if err := cmd.Execute(); err != nil { panic(err) } }