最高费用与优先费怎么填?EIP-1559 交易两个费用字段的读法 图 1
最高费用与优先费怎么填?EIP-1559 交易两个费用字段的读法 · 图 1

交易确认页上的两个费用字段各管什么

自 2021 年伦敦升级引入 EIP-1559 之后,以太坊及多条兼容链的交易费用从单一的 Gas Price 变成了两个字段:maxFeePerGas(每步计算的总费用上限)和 maxPriorityFeePerGas(优先费,也常被钱包叫作“小费”)。很多人不敢碰这两个框,或者为了省费把上限压到很低,结果交易迟迟不被打包。其实只要搞清楚三条规则,这两个字段就能读明白。

三条规则读懂费用模型

规则一:成交单价不等于你填的上限。每笔交易的实际单价由当时的基础费加上你的优先费决定,而基础费由上一个区块的拥堵程度自动调整,是全网统一的价,不是每个用户各自报价。你在 maxFeePerGas 里填的只是“成交单价高到这个数我也接受”的承诺上限,实际支付通常低于它。

规则二:两个字段流向不同。每笔交易消耗的 gas 里,基础费部分在协议层被直接销毁——不进入任何人的口袋;优先费部分归打包这笔交易的验证者。这就是为什么“给验证者加速”只需要调优先费那一格,而不是把总上限拉高。

规则三:排序看优先费,门槛看上限。验证者选择交易时主要比较优先费高低;而一旦当期基础费高于你的 maxFeePerGas 上限,这笔交易就不满足进入区块的条件,只能躺在交易池里等待——这正是“填低了省不了钱反而一直发不出去”的原因。

实操:默认值、调高与排查

日常场景直接用钱包的默认推荐值。主流钱包的默认上限会留出对基础费波动的缓冲(常见做法约为当前基础费的两倍),优先费取网络近期水平,对绝大多数转账已经足够。

需要更快确认时,调优先费,别动上限。网络拥堵期间(比如热门铸造、行情剧烈波动时段)优先费报价低的交易会被排到后面,钱包里的“加急/加速”功能本质就是用更高优先费加相同 nonce 重发一笔替换交易,机制细节见钱包的“加速”和“取消”按钮背后:替换交易是怎么起作用的

交易长时间 pending 时,先看你的上限和当前基础费的关系。区块浏览器会显示每个区块的基础费水平;如果你设的 maxFeePerGas 低于当前基础费,这笔交易理论上不被打包,处理办法是同一 nonce 提高上限重发。卡 pending 的整体排查顺序见交易卡在“等待中”怎么办?Pending 状态的排查、加速与取消;旧版单一 Gas Price 字段的估算思路可以看eth_gasPrice 怎么估算当前 Gas 价?。还有一类容易误判的情况:上限够高、优先费也不低,交易却仍停留在交易池里,这时要检查是不是 nonce 顺序问题——前一笔同 nonce 交易没落地,后面的会一直排队,这与两个费用字段无关,不要试图靠继续加价解决。

三个常见误区

一是“上限填最低就最省”。上限低于基础费会被无限搁置,且它不决定实际扣费,省不了钱。二是“优先费越高一定越快”。优先费只影响相对排序,网络整体空闲时 1 Gwei 和 3 Gwei 可能几乎无差别。三是“基础费涨了就改错链”。不同链的费用模型不同,以太坊系之外的链未必使用同一套双字段模型,切换网络时以该链钱包界面显示为准。四是“把两个字段都调成一样”。有人习惯让 maxFeePerGas 恰好等于当前基础费,这在下一个区块基础费上调时就会让交易卡住;上限存在的意义正是为波动留出缓冲,两个字段各司其职,不建议人为抹平。

最后提醒:更高的费用换不来资金安全,任何“付费加速找回”“内部通道包打包”的说法都要高度警惕。本文只解释费用机制,不构成投资建议。