abci

package
v0.0.0-...-2935fa7 Latest Latest
Warning

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

Go to latest
Published: Apr 10, 2021 License: Apache-2.0 Imports: 22 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TendermintValidatorDelayInBlocks     = 2
	HiveSmartChainValidatorDelayInBlocks = 2
)

Variables

This section is empty.

Functions

func DeliverTxFromCheckTx

func DeliverTxFromCheckTx(ctr types.ResponseCheckTx) types.ResponseDeliverTx

func ExecuteTx

func ExecuteTx(logHeader string, executor execution.Executor, txDecoder txs.Decoder, txBytes []byte) types.ResponseCheckTx

Attempt to execute a transaction using ABCI conventions and codes

func WithEvents

func WithEvents(logger *logging.Logger, events []types.Event) *logging.Logger

Types

type App

type App struct {
	// Provides a no-op implementation for all methods (in particular snapshots for now will abort)
	types.BaseApplication
	// contains filtered or unexported fields
}

func NewApp

func NewApp(nodeInfo string, blockchain *bcm.Blockchain, validators Validators, checker execution.BatchExecutor,
	committer execution.BatchCommitter, txDecoder txs.Decoder, authorizedPeers AuthorizedPeers,
	panicFunc func(error), logger *logging.Logger) *App

func (*App) BeginBlock

func (app *App) BeginBlock(block types.RequestBeginBlock) (respBeginBlock types.ResponseBeginBlock)

func (*App) CheckTx

func (app *App) CheckTx(req types.RequestCheckTx) types.ResponseCheckTx

func (*App) Commit

func (app *App) Commit() types.ResponseCommit

func (*App) DeliverTx

func (app *App) DeliverTx(req types.RequestDeliverTx) types.ResponseDeliverTx

func (*App) EndBlock

func (app *App) EndBlock(reqEndBlock types.RequestEndBlock) types.ResponseEndBlock

func (*App) Info

func (app *App) Info(info types.RequestInfo) types.ResponseInfo

func (*App) InitChain

func (app *App) InitChain(chain types.RequestInitChain) types.ResponseInitChain

func (*App) Query

func (app *App) Query(reqQuery types.RequestQuery) (respQuery types.ResponseQuery)

func (*App) SetMempoolLocker

func (app *App) SetMempoolLocker(mempoolLocker sync.Locker)

Provide the Mempool lock. When provided we will attempt to acquire this lock in a goroutine during the Commit. We will keep the checker cache locked until we are able to acquire the mempool lock which signals the end of the commit and possible recheck on Tendermint's side.

func (*App) SetOption

func (app *App) SetOption(option types.RequestSetOption) (respSetOption types.ResponseSetOption)

type AuthorizedPeers

type AuthorizedPeers interface {
	NumPeers() int
	QueryPeerByID(id string) bool
	QueryPeerByAddress(id string) bool
}

AuthorizedPeers provides current authorized nodes id and/or addresses

type PeerLists

type PeerLists struct {
	IDs       map[string]struct{}
	Addresses map[string]struct{}
}

func NewPeerLists

func NewPeerLists() *PeerLists

func (PeerLists) NumPeers

func (p PeerLists) NumPeers() int

func (PeerLists) QueryPeerByAddress

func (p PeerLists) QueryPeerByAddress(id string) bool

func (PeerLists) QueryPeerByID

func (p PeerLists) QueryPeerByID(id string) bool

type Process

type Process struct {
	// contains filtered or unexported fields
}

func NewProcess

func NewProcess(committer execution.BatchCommitter, blockchain *bcm.Blockchain, txDecoder txs.Decoder,
	commitInterval time.Duration, panicFunc func(error)) *Process

NewProcess returns a no-consensus ABCI process suitable for running a single node without Tendermint. The CheckTx function can be used to submit transactions which are processed according

func (*Process) CheckTx

func (p *Process) CheckTx(tx tmTypes.Tx, cb func(*types.Response), txInfo mempool.TxInfo) error

func (*Process) Shutdown

func (p *Process) Shutdown(ctx context.Context) (err error)

type Validators

type Validators interface {
	validator.History
}

Jump to

Keyboard shortcuts

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