Prerequisites
Blocks are a very beginner-friendly topic. But to help you better understand this page, we recommend you first read Accounts, Transactions, and our Introduction to Parallax.Why blocks?
To ensure that all participants on Parallax maintain a synchronized state and agree on the precise history of transactions, we batch transactions into blocks. This means dozens (or hundreds) of transactions are committed, agreed on, and synchronized all at once. By spacing out commits, we give all network participants enough time to come to consensus: even though transaction requests occur dozens of times per second, blocks are only created and committed on Parallax once every 10 minutes on average.How blocks work
To preserve the transaction history, blocks are strictly ordered (every new block created contains a reference to its parent block), and transactions within blocks are strictly ordered as well. Except in rare cases, at any given time, all participants on the network are in agreement on the exact number and history of blocks, and are working to batch the current live transaction requests into the next block.What’s in a block?
There is a lot of information contained within a block. At the highest level a block contains the following fields:timestamp
– the time when the block was mined.epochStartTime
– used by the difficulty adjustment algorithm to determine the time of the first block of the 2016 block window.blockNumber
– the length of the blockchain in blocks.baseFeePerGas
- the minimum fee per gas required for a transaction to be included in the block.difficulty
– difficulty target.mixHash
– a unique identifier for that block.parentHash
– the unique identifier for the block that came before (this is how blocks are linked in a chain).transactions
– the transactions included in the block.stateRoot
– the entire state of the system: account balances, contract storage, contract code and account nonces are inside.extra
– miners can use this field to include arbitrary data in the block.