Ethereum/Core API/eth_feeHistory

eth_feeHistory

eth_feeHistory 方法返回历史 gas 费用数据,使网络费用趋势分析成为可能,并帮助对交易 gas 价格做出明智决策。此方法在实施 EIP-1559 后变得至关重要,EIP-1559 引入了一种新的费用市场机制,包含基础费用和优先费用。

使用场景

  • 优化 gas 费用以实现成本效益交易
  • 钱包应用的历史费用分析
  • 基于费用模式的交易时间优化
  • DApp 费用估算以提供更好的用户体验
  • MEV(最大可提取价值)分析和策略
  • Gas 价格预测模型和算法
  • 费用可视化工具和仪表板
  • 网络使用模式的经济分析

方法详情

此方法检索历史 gas 信息集合,包括基础费用、gas 使用率和指定百分位的优先费用(小费)。

参数:

请求范围内的区块数量(1-1024)

范围内的最高区块号或区块标签

用于优先费用计算的百分位列表

返回值:

范围内最旧区块的十六进制字符串

每个 gas 的基础费用数组(包括下一个区块)

区块 gas 使用率数组

优先费用百分位值数组

响应示例

{
	"jsonrpc": "2.0",
	"id": 1,
	"result": {
		"oldestBlock": "0x1B177F5",
		"baseFeePerGas": ["0x12", "0x10", "0x11", "0xf", "0xe"],
		"gasUsedRatio": [0.5232, 0.4521, 0.4814, 0.2891],
		"reward": [
			["0x12", "0x34"],
			["0x11", "0x38"],
			["0x15", "0x42"],
			["0x13", "0x39"]
		]
	}
}

理解响应

  • oldestBlock:历史范围的起始区块号
  • baseFeePerGas:范围内每个区块的基础费用(加上下一个区块的估计值)
  • gasUsedRatio:每个区块的填充程度(0.0-1.0),影响未来的基础费用
  • reward:请求百分位的优先费用值,用于确定有竞争力的小费

基础费用根据网络拥塞情况变化:当区块填充超过 50% 时增加,低于 50% 时减少。理解这一机制有助于预测未来费用。

常见用例示例

// 从历史记录计算平均基础费用的示例
const blockCount = 10;
const result = await provider.send('eth_feeHistory', [blockCount, 'latest', [25, 75]]);
const baseFees = result.baseFeePerGas.map((hex) => parseInt(hex, 16));
const avgBaseFee = baseFees.reduce((a, b) => a + b) / baseFees.length;

另请参阅

帮助我们变得更好!
分享此页面并帮助我们为您创建更好的产品。