I am interested in knowing the block header size to estimate the overhead of running an Ethereum light client.
1 Answer
Ok, so according to the Yellow paper (section 4.4), we have several fields in the block header:
- parentHash, 256 bits
- ommersHash, 256 bits
- beneficiary, 160 bits
- stateRoot, 256 bits
- transactionsRoot, 256 bits
- receiptsRoot, 256 bits
- logsBloom, 256 bytes (see here)
- difficulty, big int scalar
- number, big int scalar
- gasLimit, big int scalar
- gasUsed, big int scalar
- timestamp, big int scalar
- extraData, (up to) 256 bits
- mixHash, 256 bits
- nonce, 64 bits
Summing everything up we get:
- 256*7+160+64 + 8*256 = 4064 bits (508 bytes)
- 5 variable length scalars