Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

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.