 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
- Constants
- func GetConsAddressBytesFromPubKey(data []byte) []byte
- type Address
- type Block
- type BlockData
- type BlockId
- type BlockParams
- type Commit
- type Consensus
- type ConsensusParams
- type Data
- type Event
- type EventAttribute
- type EvidenceParams
- type Header
- type Hex
- type Level
- type PubKey
- type ResponseDeliverTx
- type ResultBlock
- type ResultBlockResults
- type ValidatorParams
- type ValidatorUpdate
- type VersionParams
Constants ¶
const ( AddressPrefixCelestia = "celestia" AddressPrefixValoper = "celestiavaloper" AddressPrefixValCons = "celestiavalcons" )
celestia prefixes
Variables ¶
This section is empty.
Functions ¶
func GetConsAddressBytesFromPubKey ¶ added in v1.6.1
Types ¶
type Address ¶
type Address string
func NewAddressFromBytes ¶ added in v1.3.1
func NewConsAddressFromBytes ¶ added in v1.6.0
func NewValoperAddressFromBytes ¶ added in v1.6.1
type Block ¶
type Block struct {
	Header `json:"header"`
	Data   `json:"data"`
	// Evidence   types.EvidenceData `json:"evidence"`
	LastCommit *Commit `json:"last_commit"`
}
    Block defines the atomic unit of a CometBFT blockchain.
type BlockData ¶
type BlockData struct {
	ResultBlock
	ResultBlockResults
}
    type BlockParams ¶
type BlockParams struct {
	// Note: must be greater than 0
	MaxBytes int64 `json:"max_bytes,omitempty,string" protobuf:"varint,1,opt,name=max_bytes,json=maxBytes,proto3"`
	// Note: must be greater or equal to -1
	MaxGas int64 `json:"max_gas,omitempty,string" protobuf:"varint,2,opt,name=max_gas,json=maxGas,proto3"`
}
    BlockParams contains limits on the block size.
type Consensus ¶
type Consensus struct {
	Block uint64 `json:"block,omitempty,string" protobuf:"varint,1,opt,name=block,proto3"`
	App   uint64 `json:"app,omitempty,string"   protobuf:"varint,2,opt,name=app,proto3"`
}
    Consensus captures the consensus rules for processing a block in the blockchain, including all blockchain data structures and the rules of the application's state transition machine.
type ConsensusParams ¶
type ConsensusParams struct {
	Block     *BlockParams     `json:"block"     protobuf:"bytes,1,opt,name=block,proto3"`
	Evidence  *EvidenceParams  `json:"evidence"  protobuf:"bytes,2,opt,name=evidence,proto3"`
	Validator *ValidatorParams `json:"validator" protobuf:"bytes,3,opt,name=validator,proto3"`
	Version   *VersionParams   `json:"version"   protobuf:"bytes,4,opt,name=version,proto3"`
}
    ConsensusParams contains all consensus-relevant parameters that can be adjusted by the abci app
type Data ¶
type Data struct {
	// Txs that will be applied by state @ block.Height+1.
	// NOTE: not all txs here are valid.  We're just agreeing on the order first.
	// This means that block.AppHash does not include these txs.
	Txs types.Txs `json:"txs"`
	// SquareSize is the size of the square after splitting all the block data
	// into shares. The erasure data is discarded after generation, and keeping this
	// value avoids unnecessarily regenerating all the shares when returning
	// proofs that some element was included in the block
	SquareSize uint64 `json:"square_size,string"`
}
    Data contains all the available Data of the block. Data with reserved namespaces (Txs, IntermediateStateRoots, Evidence) and Celestia application-specific Blobs.
type Event ¶
type Event struct {
	Type       string           `json:"type,omitempty"       protobuf:"bytes,1,opt,name=type,proto3"`
	Attributes []EventAttribute `json:"attributes,omitempty" protobuf:"bytes,2,rep,name=attributes,proto3"`
}
    Event allows application developers to attach additional information to ResponseBeginBlock, ResponseEndBlock, ResponseCheckTx and ResponseDeliverTx. Later transactions may be queried using these events.
type EventAttribute ¶
type EventAttribute struct {
	Key   []byte `json:"key,omitempty"   protobuf:"bytes,1,opt,name=key,proto3"`
	Value []byte `json:"value,omitempty" protobuf:"bytes,2,opt,name=value,proto3"`
	Index bool   `json:"index,omitempty" protobuf:"varint,3,opt,name=index,proto3"`
}
    EventAttribute is a single key-value pair, associated with an event.
type EvidenceParams ¶
type EvidenceParams struct {
	// Max age of evidence, in blocks.
	//
	// The basic formula for calculating this is: MaxAgeDuration / {average block
	// time}.
	MaxAgeNumBlocks int64 `json:"max_age_num_blocks,omitempty,string" protobuf:"varint,1,opt,name=max_age_num_blocks,json=maxAgeNumBlocks,proto3"`
	// Max age of evidence, in time.
	//
	// It should correspond with an app's "unbonding period" or other similar
	// mechanism for handling [Nothing-At-Stake
	// attacks](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ#what-is-the-nothing-at-stake-problem-and-how-can-it-be-fixed).
	MaxAgeDuration time.Duration `json:"max_age_duration,string" protobuf:"bytes,2,opt,name=max_age_duration,json=maxAgeDuration,proto3,stdduration"`
	// This sets the maximum size of total evidence in bytes that can be committed in a single block.
	// And should fall comfortably under the max block bytes.
	// Default is 1048576 or 1MB
	MaxBytes int64 `json:"max_bytes,omitempty,string" protobuf:"varint,3,opt,name=max_bytes,json=maxBytes,proto3"`
}
    EvidenceParams determine how we handle evidence of malfeasance.
type Header ¶
type Header struct {
	// basic block info
	Version Consensus `json:"version"`
	ChainID string    `json:"chain_id"`
	Height  int64     `json:"height,string"`
	Time    time.Time `json:"time"`
	// prev block info
	LastBlockID BlockId `json:"last_block_id"`
	// hashes of block data
	LastCommitHash Hex `json:"last_commit_hash"` // commit from validators from the last block
	DataHash       Hex `json:"data_hash"`        // transactions
	// hashes from the app output from the prev block
	ValidatorsHash     Hex `json:"validators_hash"`      // validators for the current block
	NextValidatorsHash Hex `json:"next_validators_hash"` // validators for the next block
	ConsensusHash      Hex `json:"consensus_hash"`       // consensus params for current block
	AppHash            Hex `json:"app_hash"`             // state after txs from the previous block
	// root hash of all results from the txs from the previous block
	// see `deterministicResponseDeliverTx` to understand which parts of a tx are hashed into here
	LastResultsHash Hex `json:"last_results_hash"`
	// consensus info
	EvidenceHash    Hex `json:"evidence_hash"`    // evidence included in the block
	ProposerAddress Hex `json:"proposer_address"` // original proposer of the block
}
    Header defines the structure of a CometBFT block header.
type Hex ¶
type Hex []byte
func HexFromString ¶
func (Hex) MarshalJSON ¶
func (*Hex) UnmarshalJSON ¶
type ResponseDeliverTx ¶
type ResponseDeliverTx struct {
	Code      uint32          `json:"code,omitempty"              protobuf:"varint,1,opt,name=code,proto3"`
	Data      json.RawMessage `json:"data,omitempty"              protobuf:"bytes,2,opt,name=data,proto3"`
	Log       string          `json:"log,omitempty"               protobuf:"bytes,3,opt,name=log,proto3"`
	Info      string          `json:"info,omitempty"              protobuf:"bytes,4,opt,name=info,proto3"`
	GasWanted int64           `json:"gas_wanted,omitempty,string" protobuf:"varint,5,opt,name=gas_wanted,proto3"`
	GasUsed   int64           `json:"gas_used,omitempty,string"   protobuf:"varint,6,opt,name=gas_used,proto3"`
	Events    []Event         `json:"events,omitempty"            protobuf:"bytes,7,rep,name=events,proto3"`
	Codespace string          `json:"codespace,omitempty"         protobuf:"bytes,8,opt,name=codespace,proto3"`
}
    func (*ResponseDeliverTx) IsFailed ¶
func (tx *ResponseDeliverTx) IsFailed() bool
type ResultBlock ¶
ResultBlock is a single block (with meta)
type ResultBlockResults ¶
type ResultBlockResults struct {
	Height           Level                `json:"height,string"`
	TxsResults       []*ResponseDeliverTx `json:"txs_results"`
	BeginBlockEvents []Event              `json:"begin_block_events"`
	EndBlockEvents   []Event              `json:"end_block_events"`
}
    ResultBlockResults is an ABCI results from a block origin: github.com/celestiaorg/celestia-core@v1.26.2-tm-v0.34.28/rpc/core/types/responses.go
type ValidatorParams ¶
type ValidatorParams struct {
	PubKeyTypes []string `json:"pub_key_types,omitempty" protobuf:"bytes,1,rep,name=pub_key_types,json=pubKeyTypes,proto3"`
}
    ValidatorParams restrict the public key types validators can use. NOTE: uses ABCI pubkey naming, not Amino names.
type ValidatorUpdate ¶
type ValidatorUpdate struct {
	PubKey PubKey `json:"pub_key"`
	Power  *int64 `json:"power,omitempty,string"`
}
    ValidatorUpdate
type VersionParams ¶
type VersionParams struct {
	AppVersion uint64 `json:"app_version,omitempty,string" protobuf:"varint,1,opt,name=app_version,json=appVersion,proto3"`
}
    VersionParams contains the ABCI application version.