Blocks
Blocks are data structures that store accounts’ state transitions in the blockchain, global state fields, and information related to the agreement protocol.
A block defines a state transition of the Ledger.
Algorand block size is \( 5 \) MB.
Each block consists of a header and a body.
-
The header contains metadata such as details about the block itself, the current round, various hashes, rewards, etc.,
-
The body holds transaction data and account updates.
For further details on the block header, refer to the Ledger normative specification.
⚙️ IMPLEMENTATION
Block header reference implementation.
The Ledger package in the go-algorand
reference implementation includes functions
to effectively manage and interact with blocks.
Blocks are assembled in two steps: first by the MakeBlock
function and then by
the WithSeed
.
⚙️ IMPLEMENTATION
MakeBlock
reference implementation.
WithSeed
reference implementation.
The following sections provide a brief explanation and examples for each field in the block structure.
For a formal specification of these fields, refer to the Ledger normative specification.