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.