[Ethereum] What does every field in block means


Can you give a detailed description for every field in Ethereum's block structure? For example:

> eth.getBlock(123)
  author: "0xbb7b8287f3f0a933474a79eae42cbca977791171",
  difficulty: 18118731572,
  extraData: "0x476574682f4c5649562f76312e302e302f6c696e75782f676f312e342e32",
  gasLimit: 5000,
  gasUsed: 0,
  hash: "0x37cb73b97d28b4c6530c925d669e4b0e07f16e4ff41f45d10d44f4c166d650e5",
  logsBloom: "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
  miner: "0xbb7b8287f3f0a933474a79eae42cbca977791171",
  mixHash: "0x2e4b92a11b1bac2a311f6a47006442bf1dc689e76c9c1fee90da56ff6f2df7a7",
  nonce: "0x18c851620e8d6cb6",
  number: 123,
  parentHash: "0x701bc7632e80976d1a2c408ffa58e4f11aa3ed3c5a030d1125930a9d944e4343",
  receiptsRoot: "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
  sealFields: ["0x2e4b92a11b1bac2a311f6a47006442bf1dc689e76c9c1fee90da56ff6f2df7a7", "0x18c851620e8d6cb6"],
  sha3Uncles: "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347",
  size: 542,
  stateRoot: "0x2d1e6407139174d74e9485ce0b9f80d31f6ec55f447708796d2582e3ffbdbb85",
  timestamp: 1438270492,
  totalDifficulty: 2181259381686,
  transactions: [],
  transactionsRoot: "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421",
  uncles: []

Some of them are easy to guess:

hash – hash of this block

miner – address of miner, is it equal to author every time?

nonce – answer to Proof-of-Work problem

timestamp – pretty obvious

uncles – list of uncle blocks hash

transactions – list of transaction's hashes, which are included in this block

number – block's serial number

Best Answer

from the official doc :

nonce: DATA, 8 Bytes - hash of the generated proof-of-work. null when its pending block.

sha3Uncles: DATA, 32 Bytes - SHA3 of the uncles data in the block.

logsBloom: DATA, 256 Bytes - the bloom filter for the logs of the block. null when its pending block.

transactionsRoot: DATA, 32 Bytes - the root of the transaction trie of the block.

stateRoot: DATA, 32 Bytes - the root of the final state trie of the block.

receiptsRoot: DATA, 32 Bytes - the root of the receipts trie of the block.

miner: DATA, 20 Bytes - the address of the beneficiary to whom the mining rewards were given.

difficulty: QUANTITY - integer of the difficulty for this block.

totalDifficulty: QUANTITY - integer of the total difficulty of the chain until this block.

extraData: DATA - the "extra data" field of this block.

size: QUANTITY - integer the size of this block in bytes.

gasLimit: QUANTITY - the maximum gas allowed in this block.

gasUsed: QUANTITY - the total used gas by all transactions in this block.

timestamp: QUANTITY - the unix timestamp for when the block was collated.

transactions: Array - Array of transaction objects, or 32 Bytes transaction hashes depending on the last given parameter.

uncles: Array - Array of uncle hashes.

Related Topic