以太坊 Gas Fee 的核心计算公式是:实际使用的 Gas 数量 × 实际 Gas 单价。按照当前 Ethereum 的费用机制,实际 Gas 单价主要由 Base Fee 和 Priority Fee 决定;其中 Base Fee 由网络协议决定,Priority Fee 是给验证者的优先费。Gas 越高不一定代表交易金额越大,交易操作的复杂程度和当时的网络需求同样重要。
以太坊 Gas Fee 是用户向 Ethereum 网络支付的交易执行费用。Gas 本身不是一种代币,而是衡量交易需要多少计算资源的单位;Gas Price 则表示每单位 Gas 愿意支付多少 ETH,通常使用 Gwei 表示。
可以把它简单理解成:
因此,转账 0.01 ETH 和转账 10 ETH,并不意味着前者 Gas Fee 一定更低。对于普通 ETH 转账,影响 Gas 消耗的主要是交易本身的执行方式,而不是你转了多少 ETH。Ethereum 官方资料显示,标准 ETH 转账通常需要 21,000 Gas,而更复杂的智能合约操作会消耗更多 Gas。
这也是理解 Gas Fee 最重要的一点:Gas Fee 通常不是按照“转了多少钱”收取,而是按照“网络需要执行多少计算”以及“当时每单位计算资源的价格”决定。
最基础的 Gas Fee 计算公式是:
Gas Fee = Gas Used × Effective Gas Price
在 EIP-1559 费用机制下,可以进一步理解为:
Effective Gas Price = Base Fee + Priority Fee
因此,在简单情况下:
Gas Fee ≈ Gas Used ×(Base Fee + Priority Fee)
Ethereum 官方给出的示例中,一笔普通 ETH 转账使用 21,000 Gas,假设 Base Fee 为 10 Gwei,Priority Fee 为 2 Gwei,那么:
21,000 ×(10 + 2)= 252,000 Gwei = 0.000252 ETH
不过,实际交易还需要注意 Max Fee。用户设置的 Max Fee 是自己愿意为每单位 Gas 支付的最高上限,并不意味着这些 ETH 最终都会被扣掉。实际支付金额取决于交易被打包时的有效 Gas Price,未使用的部分不会成为最终 Gas 成本。
因此,对于普通用户来说,最实用的记忆方式是:实际 Gas 成本 = 实际使用 Gas × 实际有效 Gas 单价,而不是 Gas Limit × Max Fee。后一个公式更接近“最多可能预留多少费用”的概念,而不是最终实际支付金额。
1 Gwei = 0.000000001 ETH,也就是 1 Gwei = 10⁻⁹ ETH,因此 1 ETH = 1,000,000,000 Gwei。
Ethereum 使用 Gwei 表示 Gas Price,是因为直接用 ETH 表示 Gas Price 会出现大量小数。例如,1 Gwei 看起来很直观,但换成 ETH 就是 0.000000001 ETH。
实际计算时,可以使用:
Gas Fee(ETH)= Gas Used × Gas Price(Gwei)÷ 1,000,000,000
例如,以下仅为计算示例,不代表 Ethereum 当前实际 Gas Price。假设 Gas Used = 21,000,Gas Price = 20 Gwei,那么:
21,000 × 20 ÷ 1,000,000,000 = 0.00042 ETH
如果你还想把 Gas Fee 换算成美元,则需要再乘以当时 ETH 的市场价格:
Gas Fee(USD)= Gas Fee(ETH)× ETH/USD 价格
例如,以下仅为计算示例,不代表当前 ETH 价格。如果 Gas Fee 为 0.00042 ETH,假设 ETH 价格为 3,000 USDT:
0.00042 × 3,000 = 1.26 USDT
这样就能把“多少 Gwei”转换成更容易理解的实际成本。

理解这三个概念,是看懂 Ethereum Gas Fee 的关键。
Base Fee 是网络协议根据区块使用情况动态调整的费用。区块需求较高时,Base Fee 会提高;需求下降时则会降低。EIP-1559 规定,Base Fee 会被销毁,而 Priority Fee 则用于激励验证者优先处理交易。
Max Fee 则更像是你的“最高预算”。例如,以下仅为计算示例:Base Fee = 20 Gwei,Priority Fee = 2 Gwei,Max Fee = 50 Gwei。
如果交易最终以 22 Gwei 的有效价格执行,并且实际使用 21,000 Gas,那么:
21,000 × 22 = 462,000 Gwei = 0.000462 ETH
而不是:
21,000 × 50 = 1,050,000 Gwei
所以,看到钱包显示“Max Fee”很高,并不意味着这笔交易最终就会按照最高费用扣款。
Gas Limit 和 Gas Used 是另一个非常容易混淆的概念。
例如,Gas Limit = 50,000,Gas Used = 35,000,那么最终计算 Gas 成本时,核心是实际使用的 35,000 Gas,而不是简单按照 50,000 Gas 计算。
Ethereum 官方也明确指出,Gas Limit 表示用户愿意让交易最多消耗的 Gas 数量;复杂的智能合约交易通常需要更高的 Gas Limit。因此,不要看到钱包里的 Gas Limit 很高,就直接认为手续费一定很高。
真正应该关注的是:预计 Gas Used × 实际有效 Gas Price。
Gas Fee 不同,主要有两个原因:第一,交易需要消耗的 Gas 数量不同;第二,交易发生时的 Gas 单价不同。
例如,一笔简单 ETH 转账和一次复杂智能合约交互,执行的计算量明显不同,因此所需要的 Gas 也不同。实际 Gas 消耗取决于具体交易和智能合约实现,不能把某个固定数字当成所有交易的永久标准。Ethereum 官方也明确说明,越复杂的智能合约操作通常需要越多计算资源。
所以,转账 ETH、Swap ETH、铸造 NFT 和调用复杂智能合约所需的 Gas 都可能不同,即使这些操作发生在同一条 Ethereum 主网上。
Gas Fee 上涨的核心原因是网络对区块空间的需求增加。Ethereum 的区块空间有限,当更多用户同时提交交易时,大家实际上是在竞争有限的区块空间。网络需求越高,Base Fee 越容易上涨。Ethereum 的 Base Fee 会根据前一区块的 Gas 使用情况动态调整,每个区块的调整幅度有上限。
因此,Gas Fee 高的时候,不一定意味着 Ethereum “故意收费更贵”。更准确的理解是:网络计算资源需求增加 → 区块空间竞争加剧 → Base Fee 上升 → 同样的交易需要支付更多 ETH。
反过来,当网络需求降低时,Base Fee 也可能下降。所以 Gas Fee 是动态变化的,而不是一个固定手续费。
有关系,但不是直接关系。
Gas Fee 本身以 ETH 支付,所以 ETH 价格上涨时,即使 Gas 消耗和 Gwei 完全不变,以美元或 USDT 计算的 Gas 成本也会增加。
例如,以下仅为计算示例。假设一笔交易固定需要 21,000 Gas,Gas Price = 20 Gwei,那么 Gas Fee 为:
21,000 × 20 ÷ 1,000,000,000 = 0.00042 ETH
如果 ETH 价格是 2,000 USDT,费用为 0.84 USDT;如果 ETH 价格变成 4,000 USDT,费用为 1.68 USDT。Gwei 和 Gas 消耗都没有变化,但用 USDT 计算的费用翻了一倍。
因此判断 Gas 是否“贵”,最好同时看 Gas Used、Gwei 和 ETH 当前价格,而不是只看其中一个数字。
如果你准备进行链上转账或交互,不应该使用文章里的历史 Gwei 数字直接决定现在应该支付多少,因为 Gas Fee 会随网络需求变化。
实际操作时,可以查看:
现在的大多数钱包会根据网络情况自动提供建议费用,用户通常不需要从零计算 Priority Fee。Ethereum 官方也指出,钱包通常会自动设置推荐交易费用,以降低用户理解和配置费用机制的复杂度。
不要问“Ethereum Gas Fee 正常是多少?”,更应该问“我现在这笔具体交易需要多少 Gas?”因为普通 ETH 转账和智能合约交易的 Gas 消耗不同,即使在同一时间提交,也可能产生不同的费用。
省 Gas 的核心不是简单地把 Gas Price 调到最低,而是减少不必要的 Gas 消耗,并尽量避开网络需求较高的时间。
因为 Base Fee 会随着网络使用情况变化,所以在网络需求较低时进行非紧急交易,通常更容易降低 Gas 成本。如果交易并不着急,可以先查看当前 Gas 情况,再决定是否立即提交。
但需要注意:“凌晨一定便宜”“周末一定便宜”并不是可靠规则。真正应该观察的是当时的网络需求,而不是机械按照某个固定时间操作。
如果把 Priority Fee 设置得过低,交易可能需要更长时间才能被处理,甚至无法按照预期及时进入区块。Ethereum 官方明确指出,过低的费用可能降低交易被验证者选择的概率。
所以省 Gas 的目标不是“越低越好”,而是“在满足交易需求的前提下,不多付”。
如果只是转账、调整钱包资产、非紧急 Swap 或其他可以等待的链上操作,可以先观察 Gas,再决定是否执行。如果交易必须马上完成,则应该优先考虑交易时效,而不是单纯追求最低费用。
交易提交后,不要因为几秒钟没有确认就不断重新操作。尤其是在网络拥堵时,重复提交或错误处理 Pending 交易可能进一步增加操作复杂度。
应先确认交易是否已经广播、当前状态是什么、钱包是否仍显示 Pending,再决定下一步。
提交交易前,钱包一般会显示预计 Gas Fee。这时候不要只点击“Confirm”,至少确认预计 Gas Fee 是多少、交易是否真的需要现在执行,以及 Gas Fee 是否占操作金额的很大比例。
如果你只是转移一笔非常小的资产,而 Gas 成本已经明显影响交易经济性,那么继续交易可能并不划算。

如果你的操作和应用支持 Layer 2,可以考虑使用 Ethereum Layer 2 网络。
Layer 2 的核心目标之一,就是将部分交易处理放到 Ethereum 主网之外,再利用 Ethereum 作为底层安全和结算基础,从而降低用户直接在 Ethereum 主网上执行每一笔操作的成本。
但 Layer 2 不是“免费 Ethereum”。不同 Layer 2 有自己的费用结构,而且从交易所或钱包转入、转出时,还需要确认所使用的网络是否得到资产接收方支持。
因此,在决定使用 Layer 2 前,先确认三个问题:
不要单纯因为看到“Gas 更便宜”就随意切换网络。
不是。
如果你在交易平台购买 ETH,然后提现到自己的钱包,看到的“提现手续费”不一定等于你在链上交易中看到的实际 Gas Fee。
交易平台可能根据自身的提现规则收取固定或动态费用,而链上实际发生的网络费用则由 Ethereum 网络的交易执行情况决定。因此,平台提现费 ≠ Ethereum Gas Fee,这两个数字不能直接画等号。
如果你的目标只是把 ETH 从交易平台转到钱包,应优先查看平台提现页面显示的实际费用和支持网络。
不一定。Ethereum 官方明确说明,交易即使执行失败,Gas Fee 仍然需要支付,因为验证者和网络已经消耗了处理这笔交易所需的计算资源。交易失败 ≠ 没有 Gas 成本。
例如,你调用一个智能合约,但因为合约条件不满足导致交易 Revert,已经消耗的计算资源仍然需要支付 Gas。
因此,提交高 Gas 的智能合约交易前,更应该检查:
省 Gas 最好的方法之一,其实是减少不必要的失败交易。
钱包显示的通常是交易提交前的估算值,而最终费用取决于交易实际执行时使用的 Gas 和有效 Gas Price。如果预计 Gas Used 与实际 Gas Used 不同,或者预计有效 Gas Price 与实际有效 Gas Price 不同,最终费用自然可能不同。
此外,Max Fee 是上限,不是最终一定支付的金额。因此,判断一笔交易最终花了多少 Gas,应该以交易完成后的实际交易数据为准,而不是只看提交前的估算。
交易完成后可查看 Transaction Details → Gas Used → Effective Gas Price → Transaction Fee,这样才能知道这笔交易到底花了多少 ETH。
下面用一个完整案例把前面的公式串起来。以下仅为计算示例,不代表 Ethereum 当前实际 Gas Price 或交易成本。
假设你发送一笔普通 ETH 转账:Gas Used = 21,000,Base Fee = 15 Gwei,Priority Fee = 2 Gwei。
那么有效 Gas Price:15 + 2 = 17 Gwei。
实际 Gas Fee:21,000 × 17 = 357,000 Gwei。
转换成 ETH:357,000 ÷ 1,000,000,000 = 0.000357 ETH。
如果假设 ETH 价格为 3,000 USDT:0.000357 × 3,000 = 1.071 USDT。
所以这笔交易的示例成本就是 0.000357 ETH,或约 1.071 USDT。注意,这只是计算方法演示;真正交易时,Gas Used、Base Fee、Priority Fee 和 ETH 价格都可能不同。
不要只看 Gwei。更实用的方法是同时看三个数字:Gas Used × Gwei × ETH 价格。
例如,一笔交易需要 200,000 Gas,即使 Gas Price 只有 10 Gwei,实际成本也可能高于一笔只需要 21,000 Gas、但 Gas Price 为 20 Gwei 的普通转账。
虽然交易 A 的 Gwei 更低,但最终 Gas 消耗反而更高。因此,低 Gwei ≠ 低 Gas Fee,真正决定最终成本的是实际 Gas 消耗 × 实际有效 Gas Price。
如果你只是想记住最实用的部分,可以保存下面这份清单:
不是。Gas Fee 会受到网络需求、交易复杂程度以及当时 Base Fee 和 Priority Fee 等因素影响。网络使用量变化时,Gas 成本也会变化。
普通 ETH 转账通常需要 21,000 Gas,但具体交易是否属于简单原生 ETH 转账,需要结合实际交易类型判断。智能合约交互通常会消耗更多 Gas。
通常不是。Gas 主要与交易执行所需的计算资源有关,而不是简单按照转账金额收取。因此,在相同交易类型和网络条件下,转 0.1 ETH 和转 1 ETH 并不意味着 Gas Fee 会按金额同比例变化。
不一定。过低的 Priority Fee 可能导致交易确认速度下降。省 Gas 的目标应该是在能够满足交易时效的情况下减少不必要的费用,而不是单纯把费用设置到最低。
需要。即使交易执行失败,已经消耗的计算资源仍然需要支付 Gas Fee。
因为不同交易需要消耗的 Gas 数量可能不同。简单 ETH 转账、ERC-20 转账和智能合约交互的计算复杂度不同,因此即使使用相同的 Gas Price,最终 Gas Fee 也可能不同。
Ethereum Gas Fee 会动态变化,本文中的所有计算案例均仅用于解释计算方法,不代表当前或未来的实际 Gas 成本。
进行链上交易时,除了 Gas Fee,还可能存在滑点、智能合约风险、网络选择错误以及资产转账不可逆等风险。
不要因为某个时间段 Gas 较低,就为了“省手续费”进行没有实际需求的链上交易。对于小额资产,如果 Gas 成本占交易金额的比例过高,也需要重新评估这笔操作是否有必要。
可以继续阅读: