Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AppConstructor ¶
type AppConstructor = func(val Validator) servertypes.Application
AppConstructor defines a function which accepts a network configuration and creates an MSM Application to provide to Augusteum.
func NewAppConstructor ¶
func NewAppConstructor(encodingCfg params.EncodingConfig) AppConstructor
NewAppConstructor returns a new creataapp AppConstructor
type Config ¶
type Config struct { Codec codec.Marshaler LegacyAmino *codec.LegacyAmino // TODO: Remove! InterfaceRegistry codectypes.InterfaceRegistry TxConfig client.TxConfig AccountRetriever client.AccountRetriever AppConstructor AppConstructor // the MSM application constructor GenesisState map[string]json.RawMessage // custom gensis state to provide TimeoutCommit time.Duration // the consensus commitment timeout ChainID string // the network chain-id NumValidators int // the total number of validators to create and bond BondDenom string // the staking bond denomination MinGasPrices string // the minimum gas prices each validator will accept AccountTokens sdk.Int // the amount of unique validator tokens (e.g. 1000node0) StakingTokens sdk.Int // the amount of tokens each validator has available to ucta BondedTokens sdk.Int // the amount of tokens each validator fctas PruningStrategy string // the pruning strategy each validator will have EnableLogging bool // enable Augusteum logging to STDOUT CleanupDir bool // remove base temporary directory during cleanup SigningAlgo string // signing algorithm for keys KeyringOptions []keyring.Option }
Config defines the necessary configuration used to bootstrap and start an in-process local testing network.
func DefaultConfig ¶
func DefaultConfig() Config
DefaultConfig returns a sane default configuration suitable for nearly all testing requirements.
type Network ¶
Network defines a local in-process testing network using CreataApp. It can be configured to start any number of validators, each with its own RPC and API clients. Typically, this test network would be used in client and integration testing where user input is expected.
Note, due to Augusteum constraints in regards to RPC functionality, there may only be one test network running at a time. Thus, any caller must be sure to Cleanup after testing is finished in order to allow other tests to create networks. In addition, only the first validator will have a valid RPC and API server/client.
func (*Network) Cleanup ¶
func (n *Network) Cleanup()
Cleanup removes the root testing (temporary) directory and stops both the Augusteum and API services. It allows other callers to create and start test networks. This method must be called when a test is finished, typically in a defer.
func (*Network) LatestHeight ¶
LatestHeight returns the latest height of the network or an error if the query fails or no validators exist.
func (*Network) WaitForHeight ¶
WaitForHeight performs a blocking check where it waits for a block to be committed after a given block. If that height is not reached within a timeout, an error is returned. Regardless, the latest height queried is returned.
func (*Network) WaitForHeightWithTimeout ¶
WaitForHeightWithTimeout is the same as WaitForHeight except the caller can provide a custom timeout.
func (*Network) WaitForNextBlock ¶
WaitForNextBlock waits for the next block to be committed, returning an error upon failure.
type Validator ¶
type Validator struct { AppConfig *srvconfig.Config ClientCtx client.Context Ctx *server.Context Dir string NodeID string PubKey cryptotypes.PubKey Moniker string APIAddress string RPCAddress string P2PAddress string Address sdk.AccAddress ValAddress sdk.ValAddress RPCClient tmclient.Client // contains filtered or unexported fields }
Validator defines an in-process Augusteum validator node. Through this object, a client can make RPC and API calls and interact with any client command or handler.