app

package
v0.2.3 Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2019 License: Apache-2.0 Imports: 48 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	DefaultCLIHome  = os.ExpandEnv("$HOME/.linocli")
	DefaultNodeHome = os.ExpandEnv("$HOME/.lino")
)

default home directories for expected binaries

Functions

func DefaultTxDecoder

func DefaultTxDecoder(cdc *wire.Codec) sdk.TxDecoder

DefaultTxDecoder - default tx decoder, decode tx before authenticate handler

func ErrGenesisFailed

func ErrGenesisFailed(msg string) sdk.Error

Error constructors

func InitCmd added in v0.2.0

func InitCmd(ctx *server.Context, cdc *codec.Codec) *cobra.Command

InitCmd initializes all files for tendermint and application XXX(yumin): after upgrade-1, we deprecated previous init function and start to use cosmos gaia init.

func LinoBlockchainGenState

func LinoBlockchainGenState(cdc *wire.Codec, appGenTxs []json.RawMessage) (appState json.RawMessage, err error)

LinoBlockchainGenState - default genesis file

func LinoBlockchainGenTx

func LinoBlockchainGenTx(cdc *wire.Codec, pk crypto.PubKey) (
	appGenTx, cliPrint json.RawMessage, validator tmtypes.GenesisValidator, err error)

LinoBlockchainGenTx - init genesis account

func MakeCodec

func MakeCodec() *wire.Codec

MackCodec - codec for application, used by command line tool and authenticate handler

Types

type GenesisAccount

type GenesisAccount struct {
	Name           string        `json:"name"`
	Coin           types.Coin    `json:"coin"`
	ResetKey       crypto.PubKey `json:"reset_key"`
	TransactionKey crypto.PubKey `json:"transaction_key"`
	AppKey         crypto.PubKey `json:"app_key"`
	IsValidator    bool          `json:"is_validator"`
	ValPubKey      crypto.PubKey `json:"validator_pub_key"`
}

genesis account will get coin to the address and register user if genesis account is validator, it will be added to validator list automatically

type GenesisAppDeveloper

type GenesisAppDeveloper struct {
	Name        string     `json:"name"`
	Deposit     types.Coin `json:"deposit"`
	Website     string     `json:"web_site"`
	Description string     `json:"description"`
	AppMetaData string     `json:"app_meta_data"`
}

GenesisAppDeveloper - register developer in genesis phase

type GenesisInfraProvider

type GenesisInfraProvider struct {
	Name string `json:"name"`
}

GenesisInfraProvider - register infra provider in genesis phase

type GenesisState

type GenesisState struct {
	Accounts       []GenesisAccount          `json:"accounts"`
	Developers     []GenesisAppDeveloper     `json:"developers"`
	Infra          []GenesisInfraProvider    `json:"infra"`
	GenesisParam   GenesisParam              `json:"genesis_param"`
	InitGlobalMeta globalModel.InitParamList `json:"init_global_meta"`
	Reputation     []byte                    `json:"reputation"`
}

genesis state for blockchain

type LinoBlockchain

type LinoBlockchain struct {
	*bam.BaseApp

	// keys to access the KVStore
	CapKeyMainStore       *sdk.KVStoreKey
	CapKeyAccountStore    *sdk.KVStoreKey
	CapKeyPostStore       *sdk.KVStoreKey
	CapKeyValStore        *sdk.KVStoreKey
	CapKeyVoteStore       *sdk.KVStoreKey
	CapKeyInfraStore      *sdk.KVStoreKey
	CapKeyDeveloperStore  *sdk.KVStoreKey
	CapKeyIBCStore        *sdk.KVStoreKey
	CapKeyGlobalStore     *sdk.KVStoreKey
	CapKeyParamStore      *sdk.KVStoreKey
	CapKeyProposalStore   *sdk.KVStoreKey
	CapKeyReputationStore *sdk.KVStoreKey
	// contains filtered or unexported fields
}

LinoBlockchain - Extended ABCI application

func NewLinoBlockchain

func NewLinoBlockchain(
	logger log.Logger, db dbm.DB, traceStore io.Writer, baseAppOptions ...func(*bam.BaseApp)) *LinoBlockchain

NewLinoBlockchain - create a Lino Blockchain instance

func (*LinoBlockchain) ExportAppStateAndValidators

func (lb *LinoBlockchain) ExportAppStateAndValidators() (appState json.RawMessage, validators []tmtypes.GenesisValidator, err error)

Custom logic for state export

func (*LinoBlockchain) ImportFromFiles added in v0.2.0

func (lb *LinoBlockchain) ImportFromFiles(ctx sdk.Context)

ImportFromFiles Custom logic for state export

func (*LinoBlockchain) SetImportRequired added in v0.2.0

func (lb *LinoBlockchain) SetImportRequired(v bool)

SetImportRequired - set whether import is required in initchainer. This can be done even after seal().

Jump to

Keyboard shortcuts

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