chain

package
v0.0.0-...-d298eb8 Latest Latest
Warning

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

Go to latest
Published: Feb 15, 2023 License: Apache-2.0 Imports: 53 Imported by: 2

Documentation

Index

Constants

View Source
const (
	// EvtGroupPath is the group to use for path related events.
	EvtGroupPath = "path"
)

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")
)
View Source
var (
	// InitArgsAll performs all initialization for the chain.
	InitArgsAll = InitArgs{
		InitAccounts:      true,
		InitConfiguration: true,
		InitGenesis:       true,
	}

	// InitArgsNone performs minimal initialization for the chain by only initializing a node.
	InitArgsNone = InitArgs{
		InitAccounts:      false,
		InitConfiguration: false,
		InitGenesis:       false,
	}
)

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 programmatic 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) AbsBinaryPath

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

AbsBinaryPath returns the absolute path to the app's binary. Returned path includes the binary name.

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, debug 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) 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) Configure

func (c Chain) Configure(homePath string, cfg *chainconfig.Config) error

Configure sets the runtime configurations files for a chain (app.toml, client.toml, config.toml).

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) Gentx

func (c Chain) Gentx(ctx context.Context, runner chaincmdrunner.Runner, v Validator) (path string, err error)

Gentx wraps the "testd gentx" command for generating a gentx for a validator. Returns path of generated gentx.

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, args InitArgs) error

Init initializes the chain and accounts.

func (*Chain) InitAccounts

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

InitAccounts initializes the chain accounts and creates validator gentxs.

func (*Chain) InitChain

func (c *Chain) InitChain(ctx context.Context, initConfiguration, initGenesis bool) 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 exists 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 imports 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

func (Chain) Start

func (c Chain) Start(ctx context.Context, runner chaincmdrunner.Runner, cfg *chainconfig.Config) error

Start wraps the "appd start" command to begin running a chain from the daemon.

func (Chain) UpdateGenesisFile

func (c Chain) UpdateGenesisFile(data map[string]interface{}) error

UpdateGenesisFile updates the chain genesis with a generic map of data. Updates are made using an override merge strategy.

type GenerateTarget

type GenerateTarget func(*generateOptions)

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

func GenerateComposables

func GenerateComposables(path string) GenerateTarget

GenerateComposables enables generating proto based Typescript Client and Vue 3 composables.

func GenerateGo

func GenerateGo() GenerateTarget

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

func GenerateHooks

func GenerateHooks(path string) GenerateTarget

GenerateHooks enables generating proto based Typescript Client and React composables.

func GenerateOpenAPI

func GenerateOpenAPI() GenerateTarget

GenerateOpenAPI enables generating OpenAPI spec for your chain.

func GenerateTSClient

func GenerateTSClient(path string, useCache bool) 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(path string) GenerateTarget

GenerateVuex enables generating proto based Typescript Client and Vuex Stores.

type InitArgs

type InitArgs struct {
	InitAccounts      bool
	InitConfiguration bool
	InitGenesis       bool
}

InitArgs represents argument to add additional initialization for the chain. InitAccounts initializes chain accounts from the Spellshape config. InitConfiguration initializes node configuration from the Spellshape config. InitGenesis initializes genesis state for the chain from Spellshape config.

type Option

type Option func(*Chain)

Option configures Chain.

func CheckDependencies

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

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 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 PrintGeneratedPaths

func PrintGeneratedPaths() Option

PrintGeneratedPaths prints the output paths of the generated code.

func WithOutputer

func WithOutputer(s uilog.Outputer) Option

WithOutputer sets the CLI outputer for the chain.

type ServeOption

type ServeOption func(*serveOptions)

ServeOption provides options for the serve command.

func GenerateClients

func GenerateClients() ServeOption

GenerateClients enables client code generation.

func QuitOnFail

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

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