chain

package
v0.25.0 Latest Latest
Warning

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

Go to latest
Published: Oct 20, 2022 License: Apache-2.0 Imports: 52 Imported by: 2

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,
	skipProto bool,
) (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 GenerateTSClient added in v0.24.0

func GenerateTSClient(path string) GenerateTarget

GenerateTSClient enables generating proto based Typescript Client. The path assigns the output path to use for the generated Typescript client overriding the configured or default path. Path can be an empty string.

func GenerateVuex

func GenerateVuex() GenerateTarget

GenerateTSClient enables generating proto based Typescript Client.

type Option

type Option func(*Chain)

Option configures Chain.

func CheckDependencies added in v0.24.0

func CheckDependencies() Option

CheckDependencies checks that cached Go dependencies of the chain have not been modified since they were downloaded. Dependencies are checked by running `go mod verify`.

func CollectEvents added in v0.25.0

func CollectEvents(ev events.Bus) Option

CollectEvents collects events from the 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 WithOutputer added in v0.25.0

func WithOutputer(s uilog.Outputer) Option

WithOutputer sets the CLI outputer for the chain.

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 QuitOnFail added in v0.25.0

func QuitOnFail() ServeOption

QuitOnFail exits the serve immediately if an error occurs.

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

func ServeSkipProto added in v0.24.0

func ServeSkipProto() ServeOption

ServeSkipProto allows to serve the app without generate Go from proto

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