abci

package
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Mar 4, 2024 License: MIT Imports: 33 Imported by: 0

Documentation

Overview

Package abci implements the Accumulate ABCI applications.

Transaction Processing

Tendermint processes transactions in the following phases:

  • BeginBlock
  • [CheckTx]
  • [DeliverTx]
  • EndBlock
  • Commit

Index

Constants

View Source
const Version uint64 = 0x2

Version is the version of the ABCI applications.

Variables

This section is empty.

Functions

func AdjustStatusIDs added in v1.3.0

func AdjustStatusIDs(messages []messaging.Message, st []*protocol.TransactionStatus)

AdjustStatusIDs corrects for the fact that the block anchor's ID method was bad and has been changed.

func ListSnapshots

func ListSnapshots(cfg *config.Config) ([]*snapshot.Header, error)

ListSnapshots queries the node for available snapshots.

Types

type Accumulator

type Accumulator struct {
	abci.BaseApplication
	AccumulatorOptions
	// contains filtered or unexported fields
}

Accumulator is an ABCI application that accumulates validated transactions in a hash tree.

func NewAccumulator

func NewAccumulator(opts AccumulatorOptions) *Accumulator

NewAccumulator returns a new Accumulator.

func (*Accumulator) ApplySnapshotChunk

ApplySnapshotChunk applies a snapshot to the node.

func (*Accumulator) CheckTx

func (app *Accumulator) CheckTx(_ context.Context, req *abci.RequestCheckTx) (rct *abci.ResponseCheckTx, err error)

CheckTx implements github.com/cometbft/cometbft/abci/types.Application.

Verifies the transaction is sane.

func (*Accumulator) Commit

Commit implements github.com/cometbft/cometbft/abci/types.Application.

Commits the transaction block to the chains.

func (*Accumulator) CurrentBlock added in v1.1.1

func (app *Accumulator) CurrentBlock() execute.Block

func (*Accumulator) CurrentBlockState added in v1.1.1

func (app *Accumulator) CurrentBlockState() execute.BlockState

func (*Accumulator) FinalizeBlock added in v1.2.5

func (*Accumulator) Info

Info implements github.com/cometbft/cometbft/abci/types.Application.

func (*Accumulator) InitChain

InitChain implements github.com/cometbft/cometbft/abci/types.Application.

Called when a chain is created.

func (*Accumulator) LastBlock added in v1.1.1

func (app *Accumulator) LastBlock() (*execute.BlockParams, [32]byte, error)

func (*Accumulator) ListSnapshots

func (*Accumulator) LoadSnapshotChunk

LoadSnapshotChunk queries the node for the body of a snapshot.

func (*Accumulator) OfferSnapshot

OfferSnapshot offers a snapshot to the node.

func (*Accumulator) OnFatal

func (app *Accumulator) OnFatal(f func(error))

FOR TESTING ONLY

func (*Accumulator) PrepareProposal added in v1.2.12

func (*Accumulator) ProcessProposal added in v1.2.12

func (*Accumulator) Query

func (app *Accumulator) Query(_ context.Context, reqQuery *abci.RequestQuery) (*abci.ResponseQuery, error)

Query implements github.com/cometbft/cometbft/abci/types.Application.

Exposed as Tendermint RPC /abci_query.

type AccumulatorOptions

type AccumulatorOptions struct {
	*config.Config
	Tracer   trace.Tracer
	Executor execute.Executor
	EventBus *events.Bus
	Logger   log.Logger
	Database database.Beginner
	Address  crypto.Address // This is the address of this node, and is used to determine if the node is the leader
}

type RequestBeginBlock added in v1.2.5

type RequestBeginBlock struct {
	Header              *abci.RequestFinalizeBlock
	LastCommitInfo      abci.CommitInfo
	ByzantineValidators []abci.Misbehavior
}

type ResponseEndBlock added in v1.2.5

type ResponseEndBlock struct {
	ValidatorUpdates []abci.ValidatorUpdate
}

Jump to

Keyboard shortcuts

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