const header = BlockHeader.from({
// Required fields (all blocks)
parentHash: "0x1234...",
ommersHash: "0x1dcc...", // Usually empty hash post-merge
beneficiary: "0xfee...", // Fee recipient
stateRoot: "0xabcd...",
transactionsRoot: "0xef01...",
receiptsRoot: "0x2345...",
logsBloom: new Uint8Array(256),
difficulty: 0n, // 0 post-merge
number: 18500000n,
gasLimit: 30000000n,
gasUsed: 12345678n,
timestamp: 1700000000n,
extraData: new Uint8Array(0),
mixHash: "0x0000...", // 0 post-merge
nonce: new Uint8Array(8), // 0 post-merge
// EIP-1559 (London fork)
baseFeePerGas: 30000000000n,
// Shanghai fork
withdrawalsRoot: "0x5678...",
// EIP-4844 (Cancun fork)
blobGasUsed: 262144n,
excessBlobGas: 0n,
parentBeaconBlockRoot: "0x9abc...",
})