Documentation
¶
Index ¶
- Constants
- type Block
- func (b *Block) AddTx(tx transactions.Transaction)
- func (b *Block) Clear()
- func (b *Block) Decode(r io.Reader) error
- func (b *Block) Encode(w io.Writer) error
- func (b *Block) Equals(other *Block) bool
- func (b *Block) SetHash() error
- func (b *Block) SetPrevBlock(prevHeader *Header)
- func (b *Block) SetRoot() error
- type Certificate
- type Header
Constants ¶
View Source
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) 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
func (*Certificate) Decode ¶
func (c *Certificate) Decode(r io.Reader) error
Decode a Certificate struct from r into c.
func (*Certificate) Encode ¶
func (c *Certificate) Encode(w io.Writer) error
Encode a Certificate struct and write to w.
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) EncodeHashable ¶
EncodeHashable will encode all the fields needed from a Header to create a block hash. Result will be written to w.
Click to show internal directories.
Click to hide internal directories.