chain

package
v0.22.1 Latest Latest
Warning

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

Go to latest
Published: Jun 10, 2022 License: Apache-2.0 Imports: 49 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrFaucetIsNotEnabled is returned when faucet is not enabled in the config.yml.
	ErrFaucetIsNotEnabled = errors.New("faucet is not enabled in the config.yml")

	// ErrFaucetAccountDoesNotExist returned when specified faucet account in the config.yml does not exist.
	ErrFaucetAccountDoesNotExist = errors.New("specified account (faucet.name) does not exist")
)

Functions

This section is empty.

Types

type Account

type Account struct {
	Name     string
	Address  string
	Mnemonic string `json:"mnemonic"`
	CoinType string
	Coins    string
}

Account represents an account in the chain.

type App

type App struct {
	Name       string
	Path       string
	ImportPath string
}

App keeps info about chain.

func NewAppAt

func NewAppAt(path string) (App, error)

NewAppAt creates an App from the blockchain source code located at path.

func (App) D

func (a App) D() string

D returns appd name.

func (App) N

func (a App) N() string

N returns app name without dashes.

func (App) ND

func (a App) ND() string

ND returns no-dash appd name.

func (App) Root

func (a App) Root() string

Root returns the root path of app.

type CannotBuildAppError

type CannotBuildAppError struct {
	Err error
}

func (*CannotBuildAppError) Error

func (e *CannotBuildAppError) Error() string

func (*CannotBuildAppError) Unwrap

func (e *CannotBuildAppError) Unwrap() error

type CannotStartAppError

type CannotStartAppError struct {
	AppName string
	Err     error
}

func (*CannotStartAppError) Error

func (e *CannotStartAppError) Error() string

func (*CannotStartAppError) ParseStartError

func (e *CannotStartAppError) ParseStartError() string

ParseStartError parses the error into a clear error string The error logs from Cosmos SDK application are too extensive to be directly printed If the error is not recognized, returns an empty string

func (*CannotStartAppError) Unwrap

func (e *CannotStartAppError) Unwrap() error

type Chain

type Chain struct {
	Version cosmosver.Version
	// contains filtered or unexported fields
}

Chain provides programatic access and tools for a Cosmos SDK blockchain.

func New

func New(path string, options ...Option) (*Chain, error)

New initializes a new Chain with options that its source lives at path.

func (*Chain) AppTOMLPath

func (c *Chain) AppTOMLPath() (string, error)

AppTOMLPath returns app.toml path of the app.

func (*Chain) Binary

func (c *Chain) Binary() (string, error)

Binary returns the name of app's default (appd) binary.

func (*Chain) Build

func (c *Chain) Build(ctx context.Context, cacheStorage cache.Storage, output string) (binaryName string, err error)

Build builds and installs app binaries.

func (*Chain) BuildRelease

func (c *Chain) BuildRelease(ctx context.Context, cacheStorage cache.Storage, output, prefix string, targets ...string) (releasePath string, err error)

BuildRelease builds binaries for a release. targets is a list of GOOS:GOARCH when provided. It defaults to your system when no targets provided. prefix is used as prefix to tarballs containing each target.

func (*Chain) ChainID

func (c *Chain) ChainID() (string, error)

ChainID returns the default network chain's id.

func (*Chain) ClientTOMLPath

func (c *Chain) ClientTOMLPath() (string, error)

ClientTOMLPath returns client.toml path of the app.

func (*Chain) Commands

func (c *Chain) Commands(ctx context.Context) (chaincmdrunner.Runner, error)

Commands returns the runner execute commands on the chain's binary

func (*Chain) Config

func (c *Chain) Config() (chainconfig.Config, error)

Config returns the config of the chain

func (*Chain) ConfigPath

func (c *Chain) ConfigPath() string

ConfigPath returns the config path of the chain Empty string means that the chain has no defined config

func (*Chain) ConfigTOMLPath

func (c *Chain) ConfigTOMLPath() (string, error)

ConfigTOMLPath returns config.toml path of the app.

func (*Chain) DefaultGentxPath

func (c *Chain) DefaultGentxPath() (string, error)

DefaultGentxPath returns default gentx.json path of the app.

func (*Chain) DefaultHome

func (c *Chain) DefaultHome() (string, error)

DefaultHome returns the blockchain node's default home dir when not specified in the app

func (*Chain) Faucet

func (c *Chain) Faucet(ctx context.Context) (cosmosfaucet.Faucet, error)

Faucet returns the faucet for the chain or an error if the faucet configuration is wrong or not configured (not enabled) at all.

func (*Chain) Generate

func (c *Chain) Generate(
	ctx context.Context,
	cacheStorage cache.Storage,
	target GenerateTarget,
	additionalTargets ...GenerateTarget,
) error

Generate makes code generation from proto files for given target and additionalTargets.

func (*Chain) GenesisPath

func (c *Chain) GenesisPath() (string, error)

GenesisPath returns genesis.json path of the app.

func (*Chain) GentxsPath

func (c *Chain) GentxsPath() (string, error)

GentxsPath returns the directory where gentxs are stored for the app.

func (*Chain) Home

func (c *Chain) Home() (string, error)

Home returns the blockchain node's home dir.

func (*Chain) ID

func (c *Chain) ID() (string, error)

ID returns the chain's id.

func (*Chain) Init

func (c *Chain) Init(ctx context.Context, initAccounts bool) error

Init initializes the chain and applies all optional configurations.

func (*Chain) InitAccounts

func (c *Chain) InitAccounts(ctx context.Context, conf chainconfig.Config) error

InitAccounts initializes the chain accounts and creates validator gentxs

func (*Chain) InitChain

func (c *Chain) InitChain(ctx context.Context) error

InitChain initializes the chain.

func (*Chain) IsInitialized

func (c *Chain) IsInitialized() (bool, error)

IsInitialized checks if the chain is initialized the check is performed by checking if the gentx dir exist in the config

func (Chain) IssueGentx

func (c Chain) IssueGentx(ctx context.Context, v Validator) (string, error)

IssueGentx generates a gentx from the validator information in chain config and import it in the chain genesis

func (*Chain) KeyringBackend

func (c *Chain) KeyringBackend() (chaincmd.KeyringBackend, error)

KeyringBackend returns the keyring backend chosen for the chain.

func (*Chain) Name

func (c *Chain) Name() string

Name returns the chain's name

func (*Chain) RPCPublicAddress

func (c *Chain) RPCPublicAddress() (string, error)

RPCPublicAddress points to the public address of Tendermint RPC, this is shared by other chains for relayer related actions.

func (*Chain) Serve

func (c *Chain) Serve(ctx context.Context, cacheStorage cache.Storage, options ...ServeOption) error

Serve serves an app.

func (*Chain) SetHome

func (c *Chain) SetHome(home string)

SetHome sets the chain home directory.

func (*Chain) Simulate

func (c *Chain) Simulate(ctx context.Context, options ...SimappOption) error

type GenerateTarget

type GenerateTarget func(*generateOptions)

GenerateTarget is a target to generate code for from proto files.

func GenerateDart

func GenerateDart() GenerateTarget

GenerateDart enables generating Dart client.

func GenerateGo

func GenerateGo() GenerateTarget

GenerateGo enables generating proto based Go code needed for the chain's source code.

func GenerateOpenAPI

func GenerateOpenAPI() GenerateTarget

GenerateOpenAPI enables generating OpenAPI spec for your chain.

func GenerateVuex

func GenerateVuex() GenerateTarget

GenerateVuex enables generating proto based Vuex store.

type LogLvl

type LogLvl int
const (
	LogSilent LogLvl = iota
	LogRegular
	LogVerbose
)

type Option

type Option func(*Chain)

Option configures Chain.

func ConfigFile

func ConfigFile(configFile string) Option

ConfigFile specifies a custom config file to use

func EnableThirdPartyModuleCodegen

func EnableThirdPartyModuleCodegen() Option

EnableThirdPartyModuleCodegen enables code generation for third party modules, including the SDK.

func HomePath

func HomePath(path string) Option

HomePath replaces chain's configuration home path with given path.

func ID

func ID(id string) Option

ID replaces chain's id with given id.

func KeyringBackend

func KeyringBackend(keyringBackend chaincmd.KeyringBackend) Option

KeyringBackend specifies the keyring backend to use for the chain command

func LogLevel

func LogLevel(level LogLvl) Option

LogLevel sets logging level.

type Plugin

type Plugin interface {
	// Name of a Cosmos version.
	Name() string

	// Gentx returns step.Exec configuration for gentx command.
	Gentx(context.Context, chaincmdrunner.Runner, Validator) (path string, err error)

	// Configure configures config defaults.
	Configure(string, chainconfig.Config) error

	// Start returns step.Exec configuration to start servers.
	Start(context.Context, chaincmdrunner.Runner, chainconfig.Config) error

	// Home returns the blockchain node's home dir.
	Home() string
}

type ServeOption

type ServeOption func(*serveOptions)

ServeOption provides options for the serve command

func ServeForceReset

func ServeForceReset() ServeOption

ServeForceReset allows to force reset of the state when the chain is served and on every source change

func ServeResetOnce

func ServeResetOnce() ServeOption

ServeResetOnce allows to reset of the state when the chain is served once

type SimappOption

type SimappOption func(*simappOptions)

SimappOption provides options for the simapp command

func SimappWithConfig

func SimappWithConfig(config simulation.Config) SimappOption

SimappWithConfig allows to add a simulation config

func SimappWithGenesisTime

func SimappWithGenesisTime(genesisTime int64) SimappOption

SimappWithGenesisTime allows overriding genesis UNIX time instead of using a random UNIX time

func SimappWithPeriod

func SimappWithPeriod(period uint) SimappOption

SimappWithPeriod allows running slow invariants only once every period assertions

func SimappWithVerbose

func SimappWithVerbose(verbose bool) SimappOption

SimappWithVerbose enable the verbose mode

type Validator

type Validator struct {
	Name                    string
	Moniker                 string
	StakingAmount           string
	CommissionRate          string
	CommissionMaxRate       string
	CommissionMaxChangeRate string
	MinSelfDelegation       string
	GasPrices               string
	Details                 string
	Identity                string
	Website                 string
	SecurityContact         string
}

Jump to

Keyboard shortcuts

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