🚧 本 EIP 至少有6个月没有活动。

EIP-3044: Adds `baseFee` to `eth_getBlockByNumber` Source

作者 Abdelhamid Bakhta
讨论-To https://ethereum-magicians.org/t/eip-3044-add-basefee-to-eth-getblockbynumber/4828
状态 Stagnant
类型 Standards Track
分类 Interface
创建日期 2020-10-14
依赖 1474, 1559
英文版 https://eips.ethereum.org/EIPS/eip-3044

简述

Add basefee field to eth_getBlockByNumber RPC endpoint response.

摘要

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.

动机

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.

规范

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": []
    }
}

基本原理

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 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.

参考文献

Please cite this document as:

Abdelhamid Bakhta, "EIP-3044: Adds `baseFee` to `eth_getBlockByNumber` [DRAFT]," Ethereum Improvement Proposals, no. 3044, October 2020. [Online serial]. Available: https://eips.ethereum.org/EIPS/eip-3044.