README
¶
!! This module is still in beta and not fit for production use !!
How to find more information on the module
Please view to Proof of Authority module spec for more details on the commands defined in the How to
sections
How to install module
How to add the module to your application
-
See the diff on this PR and emulate the changes in your application
-
(OPTIONAL) Set up local network to test changes, can be copy/paste'd from this PR
How to use the module
How to add a validator to the validator set
- Create a CreateValidatorPOA transaction and submit it
appcli tx poa create-validator val1 `hex-encoded-public-key-of-the-validator` --trust-node --from validator --chain-id cash
- Verfiy that the CreateValidatorPOA tranaction was correctly processed
appcli query poa validator-poa val1 --trust-node --chain-id cash
How to vote on a validator to allow the validator to be added to the validator set
- Vote for a validator to join the validator set
appcli tx poa vote-validator val1 --trust-node --from validator --chain-id cash
- Query for the vote to see if the transaction was successful
appcli query poa vote-poa val1 `validator address` --trust-node --chain-id cash
How to query all votes and validators
- Query all votes
appcli query poa votes
- Query all validators
appcli query poa validators
Documentation
¶
Index ¶
- Variables
- func BeginBlocker(ctx sdk.Context, req abci.RequestBeginBlock, k keeper.Keeper)
- func EndBlocker(ctx sdk.Context, k keeper.Keeper) []abci.ValidatorUpdate
- func ExportGenesis(ctx sdk.Context, k keeper.Keeper) (data types.GenesisState)
- func InitGenesis(ctx sdk.Context, k keeper.Keeper, data types.GenesisState) []abci.ValidatorUpdate
- func NewHandler(k keeper.Keeper) sdk.Handler
- func NewQuerier(k keeper.Keeper) sdk.Querier
- func RegisterCodec(cdc *codec.Codec)
- type AppModule
- func (am AppModule) BeginBlock(ctx sdk.Context, req abci.RequestBeginBlock)
- func (am AppModule) EndBlock(ctx sdk.Context, _ abci.RequestEndBlock) []abci.ValidatorUpdate
- func (am AppModule) ExportGenesis(ctx sdk.Context) json.RawMessage
- func (am AppModule) InitGenesis(ctx sdk.Context, data json.RawMessage) []abci.ValidatorUpdate
- func (AppModule) Name() string
- func (am AppModule) NewHandler() sdk.Handler
- func (am AppModule) NewQuerierHandler() sdk.Querier
- func (AppModule) QuerierRoute() string
- func (am AppModule) RegisterInvariants(_ sdk.InvariantRegistry)
- func (AppModule) Route() string
- type AppModuleBasic
- func (AppModuleBasic) BuildCreateValidatorMsg(cliCtx context.CLIContext, txBldr authtypes.TxBuilder) (authtypes.TxBuilder, sdk.Msg, error)
- func (AppModuleBasic) CreateValidatorMsgHelpers(ipDefault string) (fs *flag.FlagSet, nodeIDFlag, pubkeyFlag, amountFlag, defaultsDesc string)
- func (AppModuleBasic) DefaultGenesis() json.RawMessage
- func (AppModuleBasic) GetQueryCmd(cdc *codec.Codec) *cobra.Command
- func (AppModuleBasic) GetTxCmd(cdc *codec.Codec) *cobra.Command
- func (AppModuleBasic) Name() string
- func (AppModuleBasic) PrepareFlagsForTxCreateValidator(config *cfg.Config, nodeID, chainID string, valPubKey crypto.PubKey)
- func (AppModuleBasic) RegisterCodec(cdc *codec.Codec)
- func (AppModuleBasic) RegisterRESTRoutes(ctx context.CLIContext, rtr *mux.Router)
- func (AppModuleBasic) ValidateGenesis(bz json.RawMessage) error
Constants ¶
This section is empty.
Variables ¶
var ModuleCdc *codec.Codec
ModuleCdc defines the module codec
Functions ¶
func BeginBlocker ¶
BeginBlocker check for infraction evidence or downtime of validators on every begin block
func EndBlocker ¶
EndBlocker called every block, process inflation, update validator set.
func ExportGenesis ¶
ExportGenesis writes the current store values to a genesis file, which can be imported again with InitGenesis
func InitGenesis ¶
func InitGenesis(ctx sdk.Context, k keeper.Keeper, data types.GenesisState) []abci.ValidatorUpdate
InitGenesis initialize default parameters and the keeper's address to pubkey map
func NewQuerier ¶
NewQuerier creates a new querier for authority clients.
func RegisterCodec ¶
RegisterCodec registers concrete types on codec
Types ¶
type AppModule ¶
type AppModule struct { AppModuleBasic // contains filtered or unexported fields }
AppModule implements an application module for the poa module.
func NewAppModule ¶
NewAppModule creates a new AppModule object
func (AppModule) BeginBlock ¶
func (am AppModule) BeginBlock(ctx sdk.Context, req abci.RequestBeginBlock)
BeginBlock returns the begin blocker for the poa module.
func (AppModule) EndBlock ¶
func (am AppModule) EndBlock(ctx sdk.Context, _ abci.RequestEndBlock) []abci.ValidatorUpdate
EndBlock returns the end blocker for the poa module. It returns no validator updates.
func (AppModule) ExportGenesis ¶
func (am AppModule) ExportGenesis(ctx sdk.Context) json.RawMessage
ExportGenesis returns the exported genesis state as raw bytes for the poa module.
func (AppModule) InitGenesis ¶
func (am AppModule) InitGenesis(ctx sdk.Context, data json.RawMessage) []abci.ValidatorUpdate
InitGenesis performs genesis initialization for the poa module. It returns no validator updates.
func (AppModule) NewHandler ¶
NewHandler returns an sdk.Handler for the poa module.
func (AppModule) NewQuerierHandler ¶
NewQuerierHandler returns the poa module sdk.Querier.
func (AppModule) QuerierRoute ¶
QuerierRoute returns the poa module's querier route name.
func (AppModule) RegisterInvariants ¶
func (am AppModule) RegisterInvariants(_ sdk.InvariantRegistry)
RegisterInvariants registers the poa module invariants.
type AppModuleBasic ¶
type AppModuleBasic struct{}
AppModuleBasic defines the basic application module used by the poa module.
func (AppModuleBasic) BuildCreateValidatorMsg ¶
func (AppModuleBasic) BuildCreateValidatorMsg(cliCtx context.CLIContext, txBldr authtypes.TxBuilder) (authtypes.TxBuilder, sdk.Msg, error)
// BuildCreateValidatorMsg - used for gen-tx
func (AppModuleBasic) CreateValidatorMsgHelpers ¶
func (AppModuleBasic) CreateValidatorMsgHelpers(ipDefault string) ( fs *flag.FlagSet, nodeIDFlag, pubkeyFlag, amountFlag, defaultsDesc string)
// CreateValidatorMsgHelpers - used for gen-tx
func (AppModuleBasic) DefaultGenesis ¶
func (AppModuleBasic) DefaultGenesis() json.RawMessage
DefaultGenesis returns default genesis state as raw bytes for the poa module.
func (AppModuleBasic) GetQueryCmd ¶
func (AppModuleBasic) GetQueryCmd(cdc *codec.Codec) *cobra.Command
GetQueryCmd returns no root query command for the poa module.
func (AppModuleBasic) GetTxCmd ¶
func (AppModuleBasic) GetTxCmd(cdc *codec.Codec) *cobra.Command
GetTxCmd returns the root tx command for the poa module.
func (AppModuleBasic) Name ¶
func (AppModuleBasic) Name() string
Name returns the poa module's name.
func (AppModuleBasic) PrepareFlagsForTxCreateValidator ¶
func (AppModuleBasic) PrepareFlagsForTxCreateValidator(config *cfg.Config, nodeID, chainID string, valPubKey crypto.PubKey)
// PrepareFlagsForTxCreateValidator - used for gen-tx
func (AppModuleBasic) RegisterCodec ¶
func (AppModuleBasic) RegisterCodec(cdc *codec.Codec)
RegisterCodec registers the poa module's types for the given codec.
func (AppModuleBasic) RegisterRESTRoutes ¶
func (AppModuleBasic) RegisterRESTRoutes(ctx context.CLIContext, rtr *mux.Router)
RegisterRESTRoutes registers the REST routes for the poa module.
func (AppModuleBasic) ValidateGenesis ¶
func (AppModuleBasic) ValidateGenesis(bz json.RawMessage) error
ValidateGenesis performs genesis state validation for the poa module.