commands

package
v0.35.9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 20, 2022 License: Apache-2.0 Imports: 54 Imported by: 306

Documentation

Index

Constants

This section is empty.

Variables

View Source
var GenNodeKeyCmd = &cobra.Command{
	Use:   "gen-node-key",
	Short: "Generate a new node key",
	RunE:  genNodeKey,
}

GenNodeKeyCmd allows the generation of a node key. It prints JSON-encoded NodeKey to the standard output.

View Source
var GenValidatorCmd = &cobra.Command{
	Use:   "gen-validator",
	Short: "Generate new validator keypair",
	RunE:  genValidator,
}

GenValidatorCmd allows the generation of a keypair for a validator.

View Source
var InitFilesCmd = &cobra.Command{
	Use:       "init [full|validator|seed]",
	Short:     "Initializes a Tendermint node",
	ValidArgs: []string{"full", "validator", "seed"},

	Args: cobra.MaximumNArgs(1),
	RunE: initFiles,
}

InitFilesCmd initializes a fresh Tendermint Core instance.

View Source
var InspectCmd = &cobra.Command{
	Use:   "inspect",
	Short: "Run an inspect server for investigating Tendermint state",
	Long: `
	inspect runs a subset of Tendermint's RPC endpoints that are useful for debugging
	issues with Tendermint.

	When the Tendermint consensus engine detects inconsistent state, it will crash the
	tendermint process. Tendermint will not start up while in this inconsistent state. 
	The inspect command can be used to query the block and state store using Tendermint
	RPC calls to debug issues of inconsistent state.
	`,

	RunE: runInspect,
}

InspectCmd is the command for starting an inspect server.

View Source
var LightCmd = &cobra.Command{
	Use:   "light [chainID]",
	Short: "Run a light client proxy server, verifying Tendermint rpc",
	Long: `Run a light client proxy server, verifying Tendermint rpc.

All calls that can be tracked back to a block header by a proof
will be verified before passing them back to the caller. Other than
that, it will present the same interface as a full Tendermint node.

Furthermore to the chainID, a fresh instance of a light client will
need a primary RPC address, a trusted hash and height and witness RPC addresses
(if not using sequential verification). To restart the node, thereafter
only the chainID is required.

When /abci_query is called, the Merkle key path format is:

	/{store name}/{key}

Please verify with your application that this Merkle key format is used (true
for applications built w/ Cosmos SDK).
`,
	RunE: runProxy,
	Args: cobra.ExactArgs(1),
	Example: `light cosmoshub-3 -p http://52.57.29.196:26657 -w http://public-seed-node.cosmoshub.certus.one:26657
	--height 962118 --hash 28B97BE9F6DE51AC69F70E0B7BFD7E5C9CD1A595B7DC31AFF27C50D4948020CD`,
}

LightCmd represents the base command when called without any subcommands

View Source
var ProbeUpnpCmd = &cobra.Command{
	Use:   "probe-upnp",
	Short: "Test UPnP functionality",
	RunE:  probeUpnp,
}

ProbeUpnpCmd adds capabilities to test the UPnP functionality.

View Source
var ReIndexEventCmd = &cobra.Command{
	Use:   "reindex-event",
	Short: "reindex events to the event store backends",
	Long: `
reindex-event is an offline tooling to re-index block and tx events to the eventsinks,
you can run this command when the event store backend dropped/disconnected or you want to 
replace the backend. The default start-height is 0, meaning the tooling will start 
reindex from the base block height(inclusive); and the default end-height is 0, meaning 
the tooling will reindex until the latest block height(inclusive). User can omit
either or both arguments.
	`,
	Example: `
	tendermint reindex-event
	tendermint reindex-event --start-height 2
	tendermint reindex-event --end-height 10
	tendermint reindex-event --start-height 2 --end-height 10
	`,
	Run: func(cmd *cobra.Command, args []string) {
		bs, ss, err := loadStateAndBlockStore(config)
		if err != nil {
			fmt.Println(reindexFailed, err)
			return
		}

		if err := checkValidHeight(bs); err != nil {
			fmt.Println(reindexFailed, err)
			return
		}

		es, err := loadEventSinks(config)
		if err != nil {
			fmt.Println(reindexFailed, err)
			return
		}

		if err = eventReIndex(cmd, es, bs, ss); err != nil {
			fmt.Println(reindexFailed, err)
			return
		}

		fmt.Println("event re-index finished")
	},
}

ReIndexEventCmd allows re-index the event by given block height interval

View Source
var ReplayCmd = &cobra.Command{
	Use:   "replay",
	Short: "Replay messages from WAL",
	Run: func(cmd *cobra.Command, args []string) {
		consensus.RunReplayFile(config.BaseConfig, config.Consensus, false)
	},
}

ReplayCmd allows replaying of messages from the WAL.

View Source
var ReplayConsoleCmd = &cobra.Command{
	Use:   "replay-console",
	Short: "Replay messages from WAL in a console",
	Run: func(cmd *cobra.Command, args []string) {
		consensus.RunReplayFile(config.BaseConfig, config.Consensus, true)
	},
}

ReplayConsoleCmd allows replaying of messages from the WAL in a console.

View Source
var ResetAllCmd = &cobra.Command{
	Use:   "unsafe-reset-all",
	Short: "(unsafe) Remove all the data and WAL, reset this node's validator to genesis state",
	RunE:  resetAllCmd,
}

ResetAllCmd removes the database of this Tendermint core instance.

View Source
var ResetPrivValidatorCmd = &cobra.Command{
	Use:   "unsafe-reset-priv-validator",
	Short: "(unsafe) Reset this node's validator to genesis state",
	RunE:  resetPrivValidator,
}

ResetPrivValidatorCmd resets the private validator files.

View Source
var ResetStateCmd = &cobra.Command{
	Use:   "reset-state",
	Short: "Remove all the data and WAL",
	RunE: func(cmd *cobra.Command, args []string) error {
		config, err := ParseConfig()
		if err != nil {
			return err
		}

		return resetState(config.DBDir(), logger, keyType)
	},
}

ResetStateCmd removes the database of the specified Tendermint core instance.

View Source
var RollbackStateCmd = &cobra.Command{
	Use:   "rollback",
	Short: "rollback tendermint state by one height",
	Long: `
A state rollback is performed to recover from an incorrect application state transition,
when Tendermint has persisted an incorrect app hash and is thus unable to make
progress. Rollback overwrites a state at height n with the state at height n - 1.
The application should also roll back to height n - 1. No blocks are removed, so upon
restarting Tendermint the transactions in block n will be re-executed against the
application.
`,
	RunE: func(cmd *cobra.Command, args []string) error {
		height, hash, err := RollbackState(config)
		if err != nil {
			return fmt.Errorf("failed to rollback state: %w", err)
		}

		fmt.Printf("Rolled back state to height %d and hash %X", height, hash)
		return nil
	},
}
View Source
var RootCmd = &cobra.Command{
	Use:   "tendermint",
	Short: "BFT state machine replication for applications in any programming languages",
	PersistentPreRunE: func(cmd *cobra.Command, args []string) (err error) {
		if cmd.Name() == VersionCmd.Name() {
			return nil
		}

		config, err = ParseConfig()
		if err != nil {
			return err
		}

		logger, err = log.NewDefaultLogger(config.LogFormat, config.LogLevel, false)
		if err != nil {
			return err
		}

		logger = logger.With("module", "main")
		return nil
	},
}

RootCmd is the root command for Tendermint core.

View Source
var ShowNodeIDCmd = &cobra.Command{
	Use:   "show-node-id",
	Short: "Show this node's ID",
	RunE:  showNodeID,
}

ShowNodeIDCmd dumps node's ID to the standard output.

View Source
var ShowValidatorCmd = &cobra.Command{
	Use:   "show-validator",
	Short: "Show this node's validator info",
	RunE:  showValidator,
}

ShowValidatorCmd adds capabilities for showing the validator info.

View Source
var TestnetFilesCmd = &cobra.Command{
	Use:   "testnet",
	Short: "Initialize files for a Tendermint testnet",
	Long: `testnet will create "v" + "n" number of directories and populate each with
necessary files (private validator, genesis, config, etc.).

Note, strict routability for addresses is turned off in the config file.

Optionally, it will fill in persistent-peers list in config file using either hostnames or IPs.

Example:

	tendermint testnet --v 4 --o ./output --populate-persistent-peers --starting-ip-address 192.168.10.2
	`,
	RunE: testnetFiles,
}

TestnetFilesCmd allows initialisation of files for a Tendermint testnet.

View Source
var VersionCmd = &cobra.Command{
	Use:   "version",
	Short: "Show version info",
	Run: func(cmd *cobra.Command, args []string) {
		fmt.Println(version.TMVersion)
	},
}

VersionCmd ...

Functions

func AddNodeFlags

func AddNodeFlags(cmd *cobra.Command)

AddNodeFlags exposes some common configuration options on the command-line These are exposed for convenience of commands embedding a tendermint node

func MakeCompactDBCommand added in v0.35.8

func MakeCompactDBCommand() *cobra.Command

func MakeKeyMigrateCommand added in v0.35.0

func MakeKeyMigrateCommand() *cobra.Command

func NewRunNodeCmd

func NewRunNodeCmd(nodeProvider cfg.ServiceProvider) *cobra.Command

NewRunNodeCmd returns the command that allows the CLI to start a node. It can be used with a custom PrivValidator and in-process ABCI application.

func ParseConfig

func ParseConfig() (*cfg.Config, error)

ParseConfig retrieves the default environment configuration, sets up the Tendermint root and ensures that the root exists

func RollbackState added in v0.34.14

func RollbackState(config *cfg.Config) (int64, []byte, error)

RollbackState takes the state at the current height n and overwrites it with the state at height n - 1. Note state here refers to tendermint state not application state. Returns the latest state height and app hash alongside an error if there was one.

func RunDatabaseMigration added in v0.35.6

func RunDatabaseMigration(ctx context.Context, logger log.Logger, conf *cfg.Config) error

Types

This section is empty.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL