Ethereum block is the basic data structure in Ethereum blockchain. An Ethereum block contains the following key components:
1. Block Header
- Parent Hash: Hash value of the previous block of the current block
- Ommer Hash: Hash value of the list of uncle blocks (called Ommers)
- State Root: Merkle root of all account states in the blockchain
- Transactions Root: Merkle root of all transactions included in the block
- Receipts Root: Merkle root of transaction receipts
- Block Number: The height of the current block in the blockchain
- Miner Address: The address of the miner who generated the block
- Difficulty: The computational difficulty of generating a block
- Timestamp: The time when the block was generated
- Nonce: A random number used to verify the block
2. Transaction List:
- All transactions included in the current block. Each transaction records the transfer of ether from one account to another, or the execution of a smart contract.
3. Uncles (also known as Uncles):
- Uncles included in the current block. Uncles are those blocks that are not directly part of the blockchain, but are found within a certain period of time and included in subsequent blocks. A block can be regarded as a data packet that records all transactions that occurred within a specific period of time and the current state of the blockchain. These blocks are linked together through a chain structure to form the Ethereum blockchain.