Skip to main content

Blocks

A block is a fundamental data structure for organizing Aleo transactions over time.

Components of a Block

An Aleo block is serialized in the following format:

ParameterTypeDescription
block_hashstringThe hash of the block
previous_hashstringThe hash of the previous block
headerobjectThe header of the block
transactionsarrayThe transactions in the block
signaturearrayThe signature for the block

Block Header

The block header contains components that summarize the state of the specified block, as well as the state of the ledger at this point in history. See the components of a block header for more details.

Transactions

The transactions are a list of all transactions that are included in the specified block.

Components of a Block Header

An Aleo block header is serialized in the following format:

ParameterTypeDescription
previous_state_rootstringThe Merkle root representing the blocks in the ledger up to the previous block.
transactions_rootstringThe Merkle root representing the transactions in the block.
metadataobjectThe metadata of the block.

Metadata

ParameterTypeDescription
networku16The network ID of the block
roundu64The round that produced the block
heightu32The height of the block
coinbase_targetu64The coinbase target of the block
proof_targetu64The proof target for this block
timestampi64The Unix timestamp (UTC) for this block