EIP-3044: Adds `baseFee` to `eth_getBlockByNumber`
作者 | 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.