Skip to content

Add debug_getRawHeader method #4891

@natanasow

Description

@natanasow

Problem

Currently, we're missing some debug_* methods.

Solution

  • Implement debug_getRawHeader method
  • Check conformity tests
  • Edit openrpc.json and rpc-api.md
  • Add tests (if needed)

Missing fields in the Hedera concept:

fee_recipient

  • Address that receives transaction priority fees and MEV for the block
  • Set by the block proposer
  • Separates who proposes the block from who gets paid

prev_randao

  • On-chain randomness value from the Proof-of-Stake RANDAO
  • Used for validator selection and committee assignments
  • Represents accumulated randomness up to the previous step (not perfectly random)

withdrawal_root

  • Merkle root committing to all validator withdrawals in the block
  • Links consensus-layer withdrawals to execution-layer processing

RPC method:

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "debug_getRawHeader",
  "params": [
    "latest" // block number or block hash
  ]
}

Response:

{
  "jsonrpc": "2.0",
  "id": 1,
  "result": "0xf90211a0..." // RLP encoded header
}

Note:

  • fee_recipient - use 0.0.801 based on https://hips.hedera.com/hip/hip-1259
  • prevRandao - use block.difficulty - 0x0
  • withdrawal_root - use computed hash of an empty Trie object - 0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421

Alternatives

No response

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions