Documentation
¶
Overview ¶
Package cmds provides command line tools.
Index ¶
- Variables
- func AttachProposalProcessor(policy *isaac.LocalPolicy, nodepool *network.Nodepool, suffrage base.Suffrage, ...) (*operation.OperationProcessor, error)
- func GenesisOperationsHandlerGenesisCurrencies(ctx context.Context, m map[string]interface{}) (operation.Operation, error)
- func HookDigesterFollowUp(ctx context.Context) (context.Context, error)
- func HookInitializeProposalProcessor(ctx context.Context) (context.Context, error)
- func HookLoadCurrencies(ctx context.Context) (context.Context, error)
- func InitializeProposalProcessor(ctx context.Context, opr *operation.OperationProcessor) (context.Context, error)
- func LoadCurrencyPoolContextValue(ctx context.Context, l **extensioncurrency.CurrencyPool) error
- func LoadDigestDatabaseContextValue(ctx context.Context, l **digest.Database) error
- func LoadDigesterContextValue(ctx context.Context, l **digest.Digester) error
- func LoadSeal(b []byte, networkID base.NetworkID) (seal.Seal, error)
- func LoadSealAndAddOperation(b []byte, privatekey key.Privatekey, networkID base.NetworkID, ...) (operation.Seal, error)
- func PrettyPrint(out io.Writer, pretty bool, i interface{})
- func ProcessDigestAPI(ctx context.Context) (context.Context, error)
- func ProcessDigestDatabase(ctx context.Context) (context.Context, error)
- func ProcessDigester(ctx context.Context) (context.Context, error)
- func ProcessStartDigestAPI(ctx context.Context) (context.Context, error)
- func ProcessStartDigester(ctx context.Context) (context.Context, error)
- type AddressFlag
- type BaseCommand
- type BaseNodeCommand
- type CleanByHeightStorageCommand
- type CleanStorageCommand
- type ContractIDFlag
- type CreateContractAccountCommand
- type CurrencyDesign
- type CurrencyDesignFlags
- type CurrencyFixedFeeerFlags
- type CurrencyPolicyFlags
- type CurrencyPolicyUpdaterCommand
- type CurrencyRatioFeeerFlags
- type CurrencyRegisterCommand
- type FeeerDesign
- type GenesisCurrenciesDesign
- type InitCommand
- type NodeCommand
- type OperationFlags
- type RunCommand
- type SealCommand
- type SendCommand
- type StorageCommand
- type WithdrawCommand
Constants ¶
This section is empty.
Variables ¶
View Source
var ( Hinters []hint.Hinter Types []hint.Type )
View Source
var ( GenesisAccountKey = "genesis_account" GenesisBalanceKey = "genesis_balance" )
View Source
var ( ProcessorDigestAPI pm.Process ProcessorStartDigestAPI pm.Process )
View Source
var ( ProcessorDigester pm.Process ProcessorStartDigester pm.Process )
View Source
var BaseNodeCommandHooks = func(cmd *BaseNodeCommand) []pm.Hook { return []pm.Hook{ pm.NewHook(pm.HookPrefixPost, process.ProcessNameEncoders, process.HookNameAddHinters, process.HookAddHinters(Types, Hinters)). SetOverride(true), pm.NewHook(pm.HookPrefixPost, process.ProcessNameConfig, "load_digest_config", cmd.hookLoadDigestConfig). SetOverride(true). SetDir(process.HookNameConfigGenesisOperations, pm.HookDirAfter), pm.NewHook(pm.HookPrefixPost, process.ProcessNameConfig, "validate_digest_config", cmd.hookValidateDigestConfig). SetOverride(true). SetDir(process.HookNameValidateConfig, pm.HookDirAfter), pm.NewHook(pm.HookPrefixPost, process.ProcessNameConfig, process.HookNameConfigVerbose, hookVerboseConfig). SetOverride(true), } }
View Source
var InitCommandHooks = func(cmd *InitCommand) []pm.Hook { genesisOperationHandlers := map[string]process.HookHandlerGenesisOperations{ "genesis-currencies": GenesisOperationsHandlerGenesisCurrencies, } for k, v := range process.DefaultHookHandlersGenesisOperations { genesisOperationHandlers[k] = v } return []pm.Hook{ pm.NewHook(pm.HookPrefixPre, process.ProcessNameProposalProcessor, "initialize_proposal_processor", cmd.hookInitializeProposalProcessor).SetOverride(true), pm.NewHook(pm.HookPrefixPost, process.ProcessNameConfig, process.HookNameConfigGenesisOperations, process.HookGenesisOperationFunc(genesisOperationHandlers)). SetOverride(true), } }
View Source
var ProcessorDigestDatabase pm.Process
View Source
var RunCommandHooks = func(cmd *RunCommand) []pm.Hook { return []pm.Hook{ pm.NewHook(pm.HookPrefixPost, process.ProcessNameDatabase, "set_database", HookLoadCurrencies).SetOverride(true), pm.NewHook(pm.HookPrefixPost, process.ProcessNameNetwork, "set_currency_network_handlers", cmd.hookSetNetworkHandlers).SetOverride(true), pm.NewHook(pm.HookPrefixPre, process.ProcessNameProposalProcessor, "initialize_proposal_processor", HookInitializeProposalProcessor).SetOverride(true), pm.NewHook(pm.HookPrefixPost, currencycmds.ProcessNameDigestAPI, "set_digest_api_handlers", cmd.hookDigestAPIHandlers).SetOverride(true), pm.NewHook(pm.HookPrefixPost, currencycmds.ProcessNameDigester, "set_state_handler", cmd.hookSetStateHandler).SetOverride(true), pm.NewHook(pm.HookPrefixPost, currencycmds.ProcessNameDigester, currencycmds.HookNameDigesterFollowUp, HookDigesterFollowUp).SetOverride(true), pm.NewHook(pm.HookPrefixPre, currencycmds.ProcessNameDigestAPI, currencycmds.HookNameSetLocalChannel, currencycmds.HookSetLocalChannel).SetOverride(true), } }
View Source
var SendVars = kong.Vars{
"node_url": "quic://localhost:54321",
}
Functions ¶
func AttachProposalProcessor ¶
func AttachProposalProcessor( policy *isaac.LocalPolicy, nodepool *network.Nodepool, suffrage base.Suffrage, cp *extensioncurrency.CurrencyPool, ) (*operation.OperationProcessor, error)
func LoadCurrencyPoolContextValue ¶
func LoadCurrencyPoolContextValue(ctx context.Context, l **extensioncurrency.CurrencyPool) error
func LoadSealAndAddOperation ¶
func PrettyPrint ¶
func ProcessDigestDatabase ¶
func ProcessStartDigestAPI ¶
Types ¶
type AddressFlag ¶
type AddressFlag struct {
// contains filtered or unexported fields
}
func (*AddressFlag) String ¶
func (v *AddressFlag) String() string
func (*AddressFlag) UnmarshalText ¶
func (v *AddressFlag) UnmarshalText(b []byte) error
type BaseCommand ¶
type BaseCommand struct { *mitumcmds.BaseCommand Out io.Writer `kong:"-"` }
func NewBaseCommand ¶
func NewBaseCommand(name string) *BaseCommand
type BaseNodeCommand ¶
func NewBaseNodeCommand ¶
func NewBaseNodeCommand(l *logging.Logging) *BaseNodeCommand
func (*BaseNodeCommand) BaseProcesses ¶
type CleanByHeightStorageCommand ¶
type CleanByHeightStorageCommand struct { *mitumcmds.CleanByHeightStorageCommand *BaseNodeCommand }
type CleanStorageCommand ¶
type CleanStorageCommand struct { *mitumcmds.CleanStorageCommand *BaseNodeCommand }
type ContractIDFlag ¶
type ContractIDFlag struct {
ID extensioncurrency.ContractID
}
func (*ContractIDFlag) String ¶
func (v *ContractIDFlag) String() string
func (*ContractIDFlag) UnmarshalText ¶
func (v *ContractIDFlag) UnmarshalText(b []byte) error
type CreateContractAccountCommand ¶
type CreateContractAccountCommand struct { *BaseCommand OperationFlags Sender AddressFlag `arg:"" name:"sender" help:"sender address" required:"true"` Threshold uint `help:"threshold for keys (default: ${create_account_threshold})" default:"${create_account_threshold}"` // nolint Keys []currencycmds.KeyFlag `name:"key" help:"key for new account (ex: \"<public key>,<weight>\")" sep:"@"` Seal mitumcmds.FileLoad `help:"seal" optional:""` Amounts []currencycmds.CurrencyAmountFlag `arg:"" name:"currency-amount" help:"amount (ex: \"<currency>,<amount>\")"` // contains filtered or unexported fields }
func NewCreateContractAccountCommand ¶
func NewCreateContractAccountCommand() CreateContractAccountCommand
type CurrencyDesign ¶
type CurrencyDesign struct { CurrencyString *string `yaml:"currency"` BalanceString *string `yaml:"balance"` NewAccountMinBalanceString *string `yaml:"new-account-min-balance"` Feeer *FeeerDesign `yaml:"feeer"` Balance currency.Amount `yaml:"-"` NewAccountMinBalance currency.Big `yaml:"-"` }
func (*CurrencyDesign) IsValid ¶
func (de *CurrencyDesign) IsValid([]byte) error
type CurrencyDesignFlags ¶
type CurrencyDesignFlags struct { Currency currencycmds.CurrencyIDFlag `arg:"" name:"currency-id" help:"currency id" required:"true"` GenesisAmount currencycmds.BigFlag `arg:"" name:"genesis-amount" help:"genesis amount" required:"true"` GenesisAccount AddressFlag `arg:"" name:"genesis-account" help:"genesis-account address for genesis balance" required:"true"` // nolint lll CurrencyPolicyFlags `prefix:"policy-" help:"currency policy" required:"true"` FeeerString string `name:"feeer" help:"feeer type, {nil, fixed, ratio}" required:"true"` CurrencyFixedFeeerFlags `prefix:"feeer-fixed-" help:"fixed feeer"` CurrencyRatioFeeerFlags `prefix:"feeer-ratio-" help:"ratio feeer"` // contains filtered or unexported fields }
func (*CurrencyDesignFlags) CurrencyDesign ¶
func (fl *CurrencyDesignFlags) CurrencyDesign() extensioncurrency.CurrencyDesign
func (*CurrencyDesignFlags) IsValid ¶
func (fl *CurrencyDesignFlags) IsValid([]byte) error
type CurrencyFixedFeeerFlags ¶
type CurrencyFixedFeeerFlags struct { Receiver AddressFlag `name:"receiver" help:"fee receiver account address"` Amount currencycmds.BigFlag `name:"amount" help:"fee amount"` ExchangeMinAmount currencycmds.BigFlag `name:"exchange-min-amount" help:"exchange fee amount"` // contains filtered or unexported fields }
func (*CurrencyFixedFeeerFlags) Feeer ¶
func (fl *CurrencyFixedFeeerFlags) Feeer() extensioncurrency.Feeer
func (*CurrencyFixedFeeerFlags) IsValid ¶
func (fl *CurrencyFixedFeeerFlags) IsValid([]byte) error
type CurrencyPolicyFlags ¶
type CurrencyPolicyFlags struct {
NewAccountMinBalance currencycmds.BigFlag `name:"new-account-min-balance" help:"minimum balance for new account"` // nolint lll
}
func (*CurrencyPolicyFlags) IsValid ¶
func (*CurrencyPolicyFlags) IsValid([]byte) error
type CurrencyPolicyUpdaterCommand ¶
type CurrencyPolicyUpdaterCommand struct { *BaseCommand OperationFlags Currency currencycmds.CurrencyIDFlag `arg:"" name:"currency-id" help:"currency id" required:"true"` CurrencyPolicyFlags `prefix:"policy-" help:"currency policy" required:"true"` FeeerString string `name:"feeer" help:"feeer type, {nil, fixed, ratio}" required:"true"` CurrencyFixedFeeerFlags `prefix:"feeer-fixed-" help:"fixed feeer"` CurrencyRatioFeeerFlags `prefix:"feeer-ratio-" help:"ratio feeer"` // contains filtered or unexported fields }
func NewCurrencyPolicyUpdaterCommand ¶
func NewCurrencyPolicyUpdaterCommand() CurrencyPolicyUpdaterCommand
type CurrencyRatioFeeerFlags ¶
type CurrencyRatioFeeerFlags struct { Receiver AddressFlag `name:"receiver" help:"fee receiver account address"` Ratio float64 `name:"ratio" help:"fee ratio, multifly by operation amount"` Min currencycmds.BigFlag `name:"min" help:"minimum fee"` Max currencycmds.BigFlag `name:"max" help:"maximum fee"` ExchangeMinAmount currencycmds.BigFlag `name:"exchange-min-amount" help:"exchange fee amount"` // contains filtered or unexported fields }
func (*CurrencyRatioFeeerFlags) Feeer ¶
func (fl *CurrencyRatioFeeerFlags) Feeer() extensioncurrency.Feeer
func (*CurrencyRatioFeeerFlags) IsValid ¶
func (fl *CurrencyRatioFeeerFlags) IsValid([]byte) error
type CurrencyRegisterCommand ¶
type CurrencyRegisterCommand struct { *BaseCommand OperationFlags CurrencyDesignFlags }
func NewCurrencyRegisterCommand ¶
func NewCurrencyRegisterCommand() CurrencyRegisterCommand
type FeeerDesign ¶
FeeerDesign is used for genesis currencies and naturally it's receiver is genesis account
func (*FeeerDesign) IsValid ¶
func (no *FeeerDesign) IsValid([]byte) error
type GenesisCurrenciesDesign ¶
type GenesisCurrenciesDesign struct { AccountKeys *currencycmds.AccountKeysDesign `yaml:"account-keys"` Currencies []*CurrencyDesign `yaml:"currencies"` }
func (*GenesisCurrenciesDesign) IsValid ¶
func (de *GenesisCurrenciesDesign) IsValid([]byte) error
type InitCommand ¶
type InitCommand struct { *BaseNodeCommand *mitumcmds.InitCommand }
func NewInitCommand ¶
func NewInitCommand(dryrun bool) (InitCommand, error)
type NodeCommand ¶
type NodeCommand struct { Init InitCommand `cmd:"" help:"initialize node"` Run RunCommand `cmd:"" help:"run node"` Info currencycmds.NodeInfoCommand `cmd:"" help:"node information"` StartHandover mitumcmds.StartHandoverCommand `cmd:"" name:"start-handover" help:"start handover"` }
func NewNodeCommand ¶
func NewNodeCommand() (NodeCommand, error)
type OperationFlags ¶
type OperationFlags struct { Privatekey currencycmds.PrivatekeyFlag `arg:"" name:"privatekey" help:"privatekey to sign operation" required:"true"` Token string `help:"token for operation" optional:""` NetworkID mitumcmds.NetworkIDFlag `name:"network-id" help:"network-id" required:"true"` Memo string `name:"memo" help:"memo"` Pretty bool `name:"pretty" help:"pretty format"` }
func (*OperationFlags) IsValid ¶
func (op *OperationFlags) IsValid([]byte) error
type RunCommand ¶
type RunCommand struct { *mitumcmds.RunCommand *BaseNodeCommand }
func NewRunCommand ¶
func NewRunCommand(dryrun bool) (RunCommand, error)
type SealCommand ¶
type SealCommand struct { Send SendCommand `cmd:"" name:"send" help:"send seal to remote mitum node"` CreateAccount currencycmds.CreateAccountCommand `cmd:"" name:"create-account" help:"create new account"` CreateContractAccount CreateContractAccountCommand `cmd:"" name:"create-contract-account" help:"create new contract account"` Withdraw WithdrawCommand `cmd:"" name:"withdraw" help:"withdraw contract account"` Transfer currencycmds.TransferCommand `cmd:"" name:"transfer" help:"transfer big"` KeyUpdater currencycmds.KeyUpdaterCommand `cmd:"" name:"key-updater" help:"update keys"` CurrencyRegister CurrencyRegisterCommand `cmd:"" name:"currency-register" help:"register new currency"` CurrencyPolicyUpdater CurrencyPolicyUpdaterCommand `cmd:"" name:"currency-policy-updater" help:"update currency policy"` // revive:disable-line:line-length-limit SuffrageInflation currencycmds.SuffrageInflationCommand `cmd:"" name:"suffrage-inflation" help:"suffrage inflation operation"` // revive:disable-line:line-length-limit Sign currencycmds.SignSealCommand `cmd:"" name:"sign" help:"sign seal"` SignFact currencycmds.SignFactCommand `cmd:"" name:"sign-fact" help:"sign facts of operation seal"` }
func NewSealCommand ¶
func NewSealCommand() SealCommand
type SendCommand ¶
type SendCommand struct { *BaseCommand URL []*url.URL `name:"node" help:"remote mitum url (default: ${node_url})" default:"${node_url}"` // nolint NetworkID mitumcmds.NetworkIDFlag `name:"network-id" help:"network-id" ` Seal mitumcmds.FileLoad `help:"seal" optional:""` DryRun bool `help:"dry-run, print operation" optional:"" default:"false"` Pretty bool `name:"pretty" help:"pretty format"` Privatekey currencycmds.PrivatekeyFlag `arg:"" name:"privatekey" help:"privatekey for sign"` Timeout time.Duration `name:"timeout" help:"timeout; default: 5s"` TLSInscure bool `name:"tls-insecure" help:"allow inseucre TLS connection; default is false"` From string `name:"from" help:"from conninfo; default is empty"` }
func NewSendCommand ¶
func NewSendCommand() SendCommand
type StorageCommand ¶
type StorageCommand struct { Download mitumcmds.BlockDownloadCommand `cmd:"" name:"download" help:"download block data"` BlockdataVerify mitumcmds.BlockdataVerifyCommand `cmd:"" name:"verify-blockdata" help:"verify block data"` // revive:disable-line:line-length-limit DatabaseVerify mitumcmds.DatabaseVerifyCommand `cmd:"" name:"verify-database" help:"verify database"` // revive:disable-line:line-length-limit CleanStorage CleanStorageCommand `cmd:"" name:"clean" help:"clean storage"` CleanByHeightStorageCommand CleanByHeightStorageCommand `cmd:"" name:"clean-by-height" help:"clean storage by height"` // revive:disable-line:line-length-limit Restore restoreCommand `cmd:"" help:"restore blocks from blockdata"` SetBlockdataMaps mitumcmds.SetBlockdataMapsCommand `cmd:"" name:"set-blockdatamaps" help:"set blockdatamaps"` // revive:disable-line:line-length-limit }
func NewStorageCommand ¶
func NewStorageCommand() (StorageCommand, error)
type WithdrawCommand ¶
type WithdrawCommand struct { *BaseCommand OperationFlags Sender AddressFlag `arg:"" name:"sender" help:"sender address" required:"true"` Target AddressFlag `arg:"" name:"target" help:"target contract account address" required:"true"` Seal mitumcmds.FileLoad `help:"seal" optional:""` Amounts []currencycmds.CurrencyAmountFlag `arg:"" name:"currency-amount" help:"amount (ex: \"<currency>,<amount>\")"` // contains filtered or unexported fields }
func NewWithdrawCommand ¶
func NewWithdrawCommand() WithdrawCommand
Source Files
¶
- base.go
- clean_by_height_storage.go
- clean_storage.go
- context.go
- create_contract_account.go
- currency_policy_updater.go
- currency_register.go
- design.go
- doc.go
- flags.go
- hinters.go
- init.go
- init_node.go
- node.go
- process_digest_api.go
- process_digest_database.go
- process_digester.go
- restore.go
- run_node.go
- seal.go
- send.go
- storage.go
- util.go
- withdraw.go
Click to show internal directories.
Click to hide internal directories.