cmd

package
v1.5.32 Latest Latest
Warning

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

Go to latest
Published: Sep 15, 2021 License: Apache-2.0 Imports: 56 Imported by: 0

Documentation

Index

Constants

View Source
const (
	FlagHeight           = "height"
	FlagForZeroHeight    = "for-zero-height"
	FlagJailAllowedAddrs = "jail-allowed-addrs"
)

Variables

View Source
var (
	FlagName       = "name"
	FlagClientHome = "home-client"
	FlagOWK        = "owk"
)
View Source
var (
	FlagOverwrite = "overwrite"
	FlagWithTxs   = "with-txs"
	FlagIP        = "ip"
	FlagChainID   = "chain_id"
	FlagStateDB   = "statedb"
	//FlagDBName = "dbname"
	FlagWithValidator = "validator_key"
	FlagCoinName      = "denom"
)
View Source
var LineBreak = &cobra.Command{Run: func(cmd *cobra.Command, args []string) {}}

Functions

func AddGenesisAccountCmd

func AddGenesisAccountCmd(ctx *app.Context, cdc *codec.Codec) *cobra.Command

func AddGenesisShardCmd

func AddGenesisShardCmd(ctx *app.Context, cdc *codec.Codec) *cobra.Command

func AddGenesisValidatorCmd

func AddGenesisValidatorCmd(ctx *app.Context, cdc *codec.Codec) *cobra.Command

func AddServerCommands

func AddServerCommands(
	ctx *app.Context,
	cdc *amino.Codec,
	rootCmd *cobra.Command,
	appInit app.AppInit,
	appCreator app.AppCreator,
	appExport app.AppExporter,
)

func CopyFile

func CopyFile(src, dst string) error

func ExportCmd added in v1.5.23

func ExportCmd(appExporter app.AppExporter, defaultNodeHome string) *cobra.Command

func GetVersion

func GetVersion() string

return version of CLI/node and commit hash

func InitWithConfig

func InitWithConfig(cdc *amino.Codec, appInit app.AppInit, c *cfg.Config, initConfig InitConfig) (
	chainID string, nodeID string, appMessage json.RawMessage, pubKey crypto.PubKey, err error)

func InitWithConfig(cdc *amino.Codec, appInit app.AppInit, c *cfg.Config, initConfig InitConfig)(

	chainID string, nodeID string, appMessage json.RawMessage, pubKey string, err error) {
	var validatorKey secp256k1.PrivKeySecp256k1
	var privStr string
	nodeKey, err := node.LoadNodeKey(c.NodeKeyFile())
	privBz := viper.GetString(FlagWithValidator)
	if len(privBz) > 0 {
		//1.match length
		priByt := []byte(privBz)
		length := len(priByt)
		if length != 44 {
			panic(errors.New(fmt.Sprintf("length of validator key does not match, expected %d, got %d",44 ,length)))
		}

		//2.regex match
		rule := `=$`
		reg := regexp.MustCompile(rule)
		if !reg.MatchString(privBz) {
			panic(errors.New("the end of the validator key string should be an equal sign"))
		}

		//3.match base64 encoding
		_,err := base64.StdEncoding.DecodeString(privBz)
		if err != nil {
			panic(err)
		}

		privStr = fmt.Sprintf(`{"type":"%s","value":"%s"}`, secp256k1.PrivKeyAminoName, privBz)
		err = cdc.UnmarshalJSON([]byte(privStr), &validatorKey)
		if err != nil {
			panic(err)
		}
	}else {

		panic(errors.New("validator key can not be empty"))
	}

	pv := validator.GenFilePV(
		c.PrivValidatorKeyFile(),
		c.PrivValidatorStateFile(),
		validatorKey,
	)

	nodeKey, err = node.GenNodeKeyByPrivKey(c.NodeKeyFile(), pv.Key.PrivKey)
	if err != nil {
		panic(err)
	}
	nodeID = string(nodeKey.ID())

	chainID = initConfig.ChainID

	genFile := c.GenesisFile()
	if !initConfig.Overwrite && cmn.FileExists(genFile) {
		err = fmt.Errorf("genesis.json file already exists: %v", genFile)
		return
	}

	validator := appInit.GetValidator(nodeKey.PubKey(), viper.GetString(FlagName))
	validators := []tmtypes.GenesisValidator{validator}

	appState, err := appInit.AppGenState(validators)

	if err != nil {
		return
	}
	err = writeGenesisFile(cdc, genFile, initConfig.ChainID, validators, appState, initConfig.GenesisTime)
	if err != nil {
		return
	}
	return
}

func MustSortJSON added in v1.5.23

func MustSortJSON(toSortJSON []byte) []byte

MustSortJSON is like SortJSON but panic if an error occurs, e.g., if the passed JSON isn't valid.

func ParseAccAddress

func ParseAccAddress(addr string) types.AccAddress

func ParseCoin

func ParseCoin(denom, amount string) (types.Coin, error)

func SortJSON added in v1.5.23

func SortJSON(toSortJSON []byte) ([]byte, error)

func StartInProcess

func StartInProcess(ctx *app.Context, appCreator app.AppCreator, cdc *codec.Codec) (*node.Node, error)

Types

type GenesisTx

type GenesisTx struct {
	NodeID    string                   `json:"node_id"`
	IP        string                   `json:"ip"`
	Validator tmtypes.GenesisValidator `json:"validator"`
	AppGenTx  json.RawMessage          `json:"app_gen_tx"`
}

type InitConfig

type InitConfig struct {
	ChainID     string
	GenTxs      bool
	GenTxsDir   string
	Overwrite   bool
	GenesisTime time.Time
}

type ValidatorAccount

type ValidatorAccount struct {
	Address    string `json:"address"`
	PublicKey  string `json:"public_key"`
	PrivateKey string `json:"private_key"`
}

Jump to

Keyboard shortcuts

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