Documentation ¶
Index ¶
Constants ¶
const ( // HeaderHashSize size of a block header hash in bytes HeaderHashSize = 32 // HeightSize size of a block height field in bytes HeightSize = 8 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Block ¶
type Block struct { Header *Header Txs []transactions.Transaction }
Block defines a block on the Dusk blockchain.
func NewBlock ¶
func NewBlock() *Block
NewBlock will return an empty Block with an empty BlockHeader.
func (*Block) AddTx ¶
func (b *Block) AddTx(tx transactions.Transaction)
AddTx will add a transaction to the block.
func (*Block) CalculateHash ¶
CalculateHash will calculate the block hash.
func (*Block) CalculateRoot ¶
CalculateRoot will calculate and return the block merkle root hash.
func (*Block) SetPrevBlock ¶
SetPrevBlock will set all the previous block hash field from a header.
type Certificate ¶
type Certificate struct { StepOneBatchedSig []byte // Batched BLS signature of the block reduction phase (33 bytes) StepTwoBatchedSig []byte Step uint8 // Step the agreement terminated at (1 byte) StepOneCommittee uint64 // Binary representation of the committee members who voted in favor of this block (8 bytes) StepTwoCommittee uint64 }
Certificate defines a block certificate made as a result from the consensus.
func EmptyCertificate ¶
func EmptyCertificate() *Certificate
EmptyCertificate returns an empty Certificate instance
func (*Certificate) Equals ¶
func (c *Certificate) Equals(other *Certificate) bool
Equals returns true if both certificates are equal
type Header ¶
type Header struct { Version uint8 // Block version byte Height uint64 // Block height Timestamp int64 // Block timestamp PrevBlockHash []byte // Hash of previous block (32 bytes) Seed []byte // Marshaled BLS signature or hash of the previous block seed (32 bytes) TxRoot []byte // Root hash of the merkle tree containing all txes (32 bytes) *Certificate // Block certificate Hash []byte // Hash of all previous fields }
Header defines a block header on a Dusk block.
func (*Header) CalculateHash ¶
CalculateHash will calculate and return this block header's hash by encoding all the relevant fields and then hashing the result.