Documentation ¶
Overview ¶
Package cluster contains models related to collection node cluster consensus.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Block ¶
Block represents a block in collection node cluster consensus. It contains a standard block header with a payload containing only a single collection.
func (Block) ID ¶
func (b Block) ID() flow.Identifier
ID returns the ID of the underlying block header.
func (*Block) SetPayload ¶
SetPayload sets the payload and payload hash.
type Payload ¶
type Payload struct { // Collection is the collection being created. Collection flow.Collection // ReferenceBlockID is the ID of a reference block on the main chain. It // is defined as the ID of the reference block with the lowest height // from all transactions within the collection. If the collection is empty, // the proposer may choose any reference block, so long as it is finalized // and within the epoch the cluster is associated with. If a cluster was // assigned for epoch E, then all of its reference blocks must have a view // in the range [E.FirstView, E.FinalView]. However, if epoch fallback is // triggered in epoch E, then any reference block with view ≥ E.FirstView // may be used. // // This determines when the collection expires, using the same expiry rules // as transactions. It is also used as the reference point for committee // state (staking, etc.) when validating the containing block. // // The root block of a cluster chain has an empty reference block ID, as it // is created in advance of its members (necessarily) being authorized network // members. It is invalid for any non-root block to have an empty reference // block ID. ReferenceBlockID flow.Identifier }
Payload is the payload for blocks in collection node cluster consensus. It contains only a single collection.
func EmptyPayload ¶
func EmptyPayload(refID flow.Identifier) Payload
EmptyPayload returns a payload with an empty collection and the given reference block ID.
func PayloadFromTransactions ¶
func PayloadFromTransactions(refID flow.Identifier, transactions ...*flow.TransactionBody) Payload
PayloadFromTransactions creates a payload given a reference block ID and a list of transaction hashes.