摘要:以太坊 Gas 费由 Base Fee(销毁)和 Priority Fee(小费)组成。本文用 Etherscan 一笔真实 EIP-1559 交易逐字段核对 Gas Used、Effective Gas Price、Burnt 与 Txn Savings,并用区块页验证 Base Fee 按 Gas Target 调整的规则。
以太坊的手续费叫 Gas 费。自 2021 年伦敦升级(EIP-1559)起,它由两块组成:协议自动算出的 Base Fee(基础费,直接销毁),和你愿意额外付给出块方的 Priority Fee(优先费,俗称小费)。它和交易所提现页上的「网络手续费」不是一回事,后者是交易所自己定的打包价。本文不讲行情,只用 Etherscan 上一笔真实交易逐个字段对照,教你自己把一笔 Gas 费从头算一遍。
先分清三个概念:Gas、Gas Price 与 Gas Limit
- Gas(用量):衡量一笔交易消耗了多少计算量的单位。普通 ETH 转账固定消耗 21,000 Gas;调用合约(Swap、授权、铸造)会更多。
- Gas Price(单价):每单位 Gas 付多少 ETH,通常用 Gwei 表示,1 Gwei = 0.000000001 ETH。EIP-1559 之后,实际单价 = Base Fee + 实际拿到的 Priority Fee。
- Gas Limit(上限):你允许这笔交易最多消耗多少 Gas。设太低会失败(已执行部分的 Gas 照样扣);设高了用不完的部分不收费。
所以一笔交易的手续费 = 实际用量(Gas Used)× 实际单价(Effective Gas Price)。ethereum.org 中文文档给出的公式与此一致(见图5)。
EIP-1559 的四个字段怎么配合
| 字段 | 谁决定 | 去向 / 作用 |
|---|---|---|
| Base Fee Per Gas | 协议根据上一个区块的拥挤程度自动计算,同一个区块内所有交易相同 | 全部销毁,不归任何人 |
| Max Priority Fee Per Gas | 你(钱包帮你填) | 付给出块方的小费上限 |
| Max Fee Per Gas | 你(钱包帮你填) | 你愿意付的总单价封顶,防止 Base Fee 突然上涨时多扣 |
| Effective Gas Price | 链上结算时算出 | = min(Max Fee, Base Fee + Max Priority Fee),差额不扣,Etherscan 显示为 Txn Savings |
换句话说:你报一个「最高愿付」(Max Fee),协议先收走当块的 Base Fee 并销毁,再按你设的上限给出块方小费,剩下的不扣。只要 Max Fee 低于当块 Base Fee,交易就进不了这个区块,只能在内存池里等。
用 Etherscan 一笔真实交易逐项核对
下面这笔是 2026-09-26 14:20(UTC+8)打包在第 26,059,799 号区块里的一笔普通 ETH 转账(Txn Type 2,即 EIP-1559 交易)。你可以在 Etherscan 顶部搜索框粘贴任意交易哈希,打开同样的页面。

点页面下方的「Click to show more」,会展开 Gas 相关字段:

把截图里的数字代入公式,一步步算:
- 实际单价:Base Fee + Max Priority = 0.079538986 + 2 = 2.079538986 Gwei,小于 Max Fee(2.150222547 Gwei),所以小费按 2 Gwei 足额给出。结果正好等于页面上的 Gas Price 2.079538986 Gwei。
- 手续费:21,000 × 2.079538986 Gwei = 43,670.318706 Gwei = 0.000043670318706 ETH,与 Transaction Fee 一致。
- 销毁部分:21,000 × 0.079538986 Gwei = 0.000001670318706 ETH,对应图2里的 Burnt。
- 出块方拿到的小费:21,000 × 2 Gwei = 0.000042 ETH(手续费减去销毁部分)。
- Txn Savings:21,000 ×(2.150222547 − 2.079538986)Gwei = 0.000001484354781 ETH,这是 Max Fee 高出实际单价的部分,没有被扣。
这个例子里 Base Fee 很低,小费反而占了手续费的大头;拥堵时正好反过来,Base Fee 会成为主要成本。
Base Fee 是怎么涨跌的:看区块页
点交易页里的区块号,进入区块详情。重点看四个字段:Gas Used、Gas Limit、Base Fee Per Gas、Burnt Fees。

规则来自 EIP-1559:每个区块的 Gas Target 是 Gas Limit 的一半(这里是 30,000,000)。上一个区块用量高于目标,下一块的 Base Fee 就上调;低于目标就下调,每块最多变动 12.5%。调整幅度 = 当前 Base Fee ×(用量 − 目标)÷ 目标 ÷ 8。
代入图3:(40,586,116 − 30,000,000)÷ 30,000,000 ÷ 8 ≈ 4.41%,所以第 26,059,800 块的 Base Fee 应为 0.079538986 × 1.0441 ≈ 0.08305 Gwei。链上该区块实际值是 0.083047356 Gwei,你可以打开下一个区块页自己核对。
区块页的 Block Reward 一行也值得看:「0 + 交易费合计 − 销毁」。PoS 之后执行层不再有固定出块奖励,出块方在执行层只拿小费(以及 MEV 等其他收入),Base Fee 全部销毁。Fee Recipient 显示的通常是区块构建者(builder)地址。
Gas Tracker:发交易前看一眼当前价格

Gas Tracker 的三档报价只是参考。钱包(例如 欧易 Web3 钱包、MetaMask)发交易前也会按当前 Base Fee 自动预估并允许你改「高级 Gas 设置」。几个实用原则:
- 不赶时间:Max Priority 用钱包默认值即可;Max Fee 留出余量(钱包一般按 Base Fee 的倍数给),多出的部分不会被扣。
- 交易卡住:多半是 Max Fee 低于当前 Base Fee。用钱包的「加速」功能以相同 Nonce 重发更高的费用即可替换原交易。
- 别手动乱改 Gas Limit:合约交互时钱包会先模拟预估;改低会导致执行到一半 out of gas 失败,已消耗的 Gas 不退。
- 授权也要付 Gas:每次 approve、撤销授权都是一笔独立交易,见 代币授权怎么撤销。
对照官方文档:ethereum.org 中文版

文档还说明:Base Fee 调整以「上一个区块相对目标大小(Gas 上限的一半)」为准,每块最多 ±12.5%;Max Fee 与实际花费的差额会退还。这些和上面在 Etherscan 上算出来的完全吻合。
为什么二层网络和其他链的费用差这么多
同样一笔转账,在以太坊主网、Layer2 和其他公链上的费用可能差出几个数量级。原因在于各自的区块空间供需和计费方式不同:Layer2 把大量交易打包后再把数据提交到以太坊,均摊成本,原理见 Optimistic 与 ZK Rollup 差在哪;BNB Chain 是独立的 EVM 链,字段和以太坊很像,但 Base Fee 恒为 0,计费细节见 BNB Chain 怎么运作。
钱包里没有 ETH 怎么办
付 Gas 必须用 ETH,钱包里只有 USDT 也发不出 ERC-20 转账。常见做法是在交易所买一点 ETH,提到自己的钱包地址(选 Ethereum/ERC20 网络)。还没有交易所账户的话,可用 币安注册链接 或 欧易注册链接;自托管钱包可以用欧易 Web3 钱包,创建时可填推荐码 CHENGXULVTU,步骤见上面的钱包教程。
相关阅读
- Optimistic 与 ZK Rollup 差在哪:用 L2BEAT 看 Arbitrum、Base
- BNB Chain 怎么运作:PoSA 验证者、出块与 BEP-20 链上核对
- 代币授权怎么撤销:Revoke 步骤
说明:文中所有费用、区块数据均为 2026-09-26 截图或链上查询时的数值,Gas 价格随网络拥堵实时变化,以你发交易时钱包和浏览器显示为准。本文不构成任何投资建议。
