HomeEIPs
EIPsEIP-3044
EIP-3044

Adds `baseFee` to `eth_getBlockByNumber`

StagnantStandards Track: Interface
Created: 2020-10-14
Requires: EIP-1474, EIP-1559
Abdelhamid Bakhta (@abdelhamidbakhta)
DiscussionsOriginal linkEdit
1 min read

EIP-3044 is a proposal to add a new field called `baseFee` to the `eth_getBlockByNumber` endpoint in Ethereum. This field provides information about the minimum fee required to include a transaction in a block. The proposal was made in October 2020 and is considered to be backwards compatible, meaning that it does not affect calls related to blocks prior to the EIP-1559 fork block. The proposal was made by Abdelhamid Bakhta and is considered to be informational and not introducing any technical security issues.

The addition of the `baseFee` field was seen as a simple change that would be easy to integrate, and it was decided to not include the base fee in the response for pre-1559 blocks for backward compatibility. The proposal is related to the EIP-1559 proposal, which introduced a new fee market mechanism to Ethereum and aimed to improve the user experience by making transaction fees more predictable and reducing network congestion.

In summary, EIP-3044 proposes the addition of a new field called `baseFee` to the `eth_getBlockByNumber` endpoint in Ethereum, which provides information about the minimum fee required to include a transaction in a block. The proposal is considered to be backwards compatible and informational, and it is related to the EIP-1559 proposal, which aimed to improve the user experience by making transaction fees more predictable and reducing network congestion.

Video
Anyone may contribute to propose contents.
Go propose
Original

Simple Summary

Add basefee field to eth_getBlockByNumber RPC endpoint response.

Abstract

Adds baseFee property to the eth_getBlockByNumber JSON-RPC request result object. This property will contain the value of the base fee for any block after the EIP-1559 fork.

Motivation

EIP-1559 introduces a base fee per gas in protocol. This value is maintained under consensus as a new field in the block header structure. Users may need value of the base fee at a given block. Base fee value is important to make gas price predictions more accurate.

Specification

eth_getBlockByNumber

Description

Returns information about a block specified by number. Every block returned by this endpoint whose block number is before the EIP-1559 fork block MUST NOT include a baseFee field. Every block returned by this endpoint whose block number is on or after the EIP-1559 fork block MUST include a baseFee field.

Parameters

Parameters remain unchanged.

Returns

For the full specification of eth_getBlockByNumber see EIP-1474. Add a new JSON field to the result object for block headers containing a base fee (post EIP-1559 fork block).

  • {Quantity} baseFee - base fee for this block

Example

# Request curl -X POST --data '{ "id": 1559, "jsonrpc": "2.0", "method": "eth_getBlockByNumber", "params":["latest", true] }' <url> # Response { "id": 1559, "jsonrpc": "2.0", "result": { "difficulty": "0x027f07", "extraData": "0x0000000000000000000000000000000000000000000000000000000000000000", "baseFee": "0x7" "gasLimit": "0x9f759", "gasUsed": "0x9f759", "hash": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331", "logsBloom": "0xe670ec64341771606e55d6b4ca35a1a6b75ee3d5145a99d05921026d1527331", "miner": "0x4e65fda2159562a496f9f3522f89122a3088497a", "nonce": "0xe04d296d2460cfb8472af2c5fd05b5a214109c25688d3704aed5484f9a7792f2", "number": "0x1b4", "parentHash": "0x9646252be9520f6e71339a8df9c55e4d7619deeb018d2a3f2d21fc165dde5eb5", "sha3Uncles": "0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347", "size": "0x027f07", "stateRoot": "0xd5855eb08b3387c0af375e9cdb6acfc05eb8f519e419b874b6ff2ffda7ed1dff", "timestamp": "0x54e34e8e" "totalDifficulty": "0x027f07", "transactions": [] "transactionsRoot": "0x56e81f171bcc55a6ff8345e692c0f86e5b48e01b996cadc001622fb5e363b421", "uncles": [] } }

Rationale

The addition of a single parameter instead of introducing a whole new endpoint was the simplest change that would be easiest to get integrated. For backward compatibility we decided to not include the base fee in the response for pre-1559 blocks.

Backwards Compatibility

Backwards compatible. Calls related to block prior to EIP-1559 fork block will omit the base fee field in the response.

Security Considerations

The added field (baseFee) is informational and does not introduce technical security issues.

Copyright and related rights waived via CC0.

Further reading
Anyone may contribute to propose contents.
Go propose
Adopted by projects
Anyone may contribute to propose contents.
Go propose

Not miss a beat of EIPs' update?

Subscribe EIPs Fun to receive the latest updates of EIPs Good for Buidlers to follow up.

View all
Serve EIP builders, scale Ethereum.
Resources
GitHub
Supported by