Gwei 是什么?Gas 费计算、余额不足与 Pending 排查
钱包显示 12 Gwei、Gas Limit 150,000、Max fee 0.003 ETH,究竟会扣多少?为什么账户里有测试代币却仍提示余额不足?交易 Pending 时应该提速、取消还是等待?这篇指南从单位和公式开始,把 EIP-1559 字段、普通转账与合约交互的差异、常见错误信息和测试网排查顺序放在一页讲清楚。它不提供实时 Gas 报价,而是教你判断钱包显示的数字。
30 秒读懂钱包里的费用
| 钱包字段 | 它回答的问题 | 最容易误解的地方 |
|---|---|---|
| Gas Limit | 这笔交易最多允许使用多少 Gas | 它是上限,不是必然消耗量;调高也不等于更快 |
| Gas Used | 交易实际消耗了多少计算资源 | 通常要等执行后才能确定 |
| Gwei / Fee per gas | 每单位 Gas 的价格 | Gwei 是单位,不是另一种代币 |
| Max fee | 愿意为每单位 Gas 支付的最高价格 | 上限乘 Gas Limit 是预算边界,不等于最终费用 |
| Network fee | 钱包按当前状态估算的总费用 | 估算会随网络和合约状态变化 |
在采用 EIP-1559 的 EVM 网络上,可把核心关系先简化为:执行费用 = Gas Used × Effective Gas Price。转账金额是另一项支出,因此账户余额通常要同时覆盖“发送的资产数量 + 费用预算”。
1. Wei、Gwei、ETH 的换算
Wei 是 Ether 的最小计价单位;Gwei 是日常最常见的 Gas 单价单位。三者只是同一个数值用不同精度表达:
1 ETH = 1,000,000,000 Gwei1 Gwei = 1,000,000,000 Wei1 ETH = 1,000,000,000,000,000,000 Wei1 Gwei = 0.000000001 ETH
例如 20 Gwei 不是“20 个币”,而是每单位 Gas 的报价。若某条 EVM 链的原生 Gas 代币不是 ETH,钱包仍可能用 Gwei 表示单价,但最终费用会折算成该网络的原生代币。要做精确换算,可使用站内的Gwei / Wei / ETH 单位换算器;工具在浏览器本地计算,不提供实时 Gas 行情。
2. Gas Used、Gas Limit 与总费用
Gas衡量 EVM 执行操作所需的计算工作量。普通地址向普通地址发送 ETH、且不附带额外数据时,典型用量是 21,000 Gas;调用智能合约、交换代币、铸造 NFT 或部署合约时,用量取决于执行路径,不能套用 21,000。
Gas Limit 是安全边界,不是报价
Gas Limit 表示交易允许消耗的最大 Gas。假设上限为 120,000,最终只使用 83,000,通常按 83,000 计费,未使用部分不会按“已用 Gas”收取。反过来,如果执行尚未完成就耗尽上限,交易可能以 Out of gas 失败,已经消耗的 Gas 仍可能被收取。
Value 和 Network fee 要分开看
发送 0.1 ETH 时,0.1 ETH 是交易的 value,Gas 是执行费用。钱包提示余额不足,可能不是你缺少要发送的代币,而是“余额 − 转账金额”不足以覆盖费用上限。发送 ERC-20 代币时,代币余额和原生 Gas 余额更是两个独立数字。
3. EIP-1559:Base fee、Priority fee 与 Max fee
在支持 EIP-1559 的网络上,钱包通常把每单位 Gas 的价格拆为三部分:
| 字段 | 含义 | 谁决定 |
|---|---|---|
| Base fee | 区块根据拥堵情况要求的基础价格 | 协议按前一区块使用情况调整;在以太坊上会被销毁 |
| Max priority fee | 愿意支付给验证者的最高小费 | 用户或钱包建议值 |
| Max fee per gas | 基础费与小费合计的每 Gas 最高预算 | 用户设置的价格上限 |
更准确的计算方式是:
有效小费 = min(Max priority fee, Max fee − Base fee)有效 Gas 单价 = Base fee + 有效小费执行费用 = Gas Used × 有效 Gas 单价
如果 Base fee 上涨到高于 Max fee,交易暂时无法满足当前区块的价格要求,可能继续等待。Max fee 设得较高,是为了给区块间的价格变化留空间;最终费用仍按实际生效价格和 Gas Used 计算。旧式交易只显示 Gas Price,把基础费和优先费折进一个单价,排查时要先判断钱包展示的是哪一种格式。
在部分 Layer 2 上,总费用还可能包含 L2 执行费、向 L1 发布数据的费用或其他数据可用性费用。因此“Gas Used × L2 单价”未必等于钱包展示的全部成本,应以该网络官方费用模型和交易回执为准。
4. 三类 Gas 费计算示例
示例 A:普通 ETH 转账
假设普通地址转账实际使用 21,000 Gas,Base fee 为 10 Gwei,有效小费为 2 Gwei:
21,000 × (10 + 2) = 252,000 Gwei = 0.000252 ETH
如果转账金额是 0.1 ETH,总支出约为 0.100252 ETH;其中 0.1 是 value,0.000252 是执行费用。
示例 B:合约交互
某次测试网合约调用实际使用 150,000 Gas,有效单价为 3 Gwei:
150,000 × 3 = 450,000 Gwei = 0.00045 个原生代币
这里不能直接写成 0.00045 ETH,除非该网络确实用 ETH 作为原生 Gas 代币。
示例 C:预算上限不等于最终扣款
钱包设置 Gas Limit 120,000、Max fee 20 Gwei,那么价格与用量的理论预算边界是:
120,000 × 20 Gwei = 0.0024 个原生代币
若最终只使用 100,000 Gas,Base fee 为 8 Gwei、有效小费为 2 Gwei,实际执行费用是:
100,000 × (8 + 2) Gwei = 0.001 个原生代币
钱包为交易保留足够余额时可能参考上限,但链上回执中的 Gas Used 和 Effective Gas Price 才能解释最终费用。
5. 确认交易前,按这条顺序检查
- 网络:确认网络名称与 Chain ID,避免把测试网任务发到主网或另一条同名链。
- 原生 Gas 余额:不要只看要发送的 ERC-20 代币;单独检查当前网络的原生代币余额。
- 交易对象:核对接收地址、合约地址和钱包展示的方法名;看不懂的合约调用先取消。
- Value:确认发送数量和单位,特别注意钱包是否把原生代币 value 与代币授权分开显示。
- 费用字段:区分 Gas Limit、Max fee、Priority fee 与预计总费用,不把单价当总价。
- 前序交易:同一地址有未确认交易时,后续更高 nonce 的交易可能排队等待。
- 停止条件:网页要求助记词、私钥、真实资产充值或购买测试 Gas 时立即停止。
6. Gas 与交易常见错误信息对照表
| 错误或现象 | 通常意味着什么 | 正确处理顺序 |
|---|---|---|
| Insufficient funds for gas * price + value | 原生余额不足以覆盖转账金额与费用预算 | 确认网络 → 核对原生余额 → 降低发送金额或从官方 Faucet 获取测试 Gas |
| Intrinsic gas too low | 交易设定的 Gas Limit 连基本数据和签名成本都不够 | 恢复钱包建议值;不要随意把 Gas Limit 压低 |
| Out of gas | 执行过程中耗尽 Gas Limit | 查回执与合约文档;仅在逻辑本身可成功时提高上限 |
| Execution reverted | 合约条件不满足或主动回滚 | 读可见的 revert reason,检查额度、截止时间、参数和合约状态;加 Gas 不一定有用 |
| Gas estimation failed / Unpredictable gas limit | 模拟执行失败、节点无法估算或合约预计会回滚 | 先检查交易条件和 RPC,不要盲目手填巨大上限 |
| Max fee per gas less than block base fee | Max fee 低于当前基础费 | 刷新钱包报价,确认网络后提高价格上限或等待拥堵下降 |
| Nonce too low | 该 nonce 已被确认或被另一笔交易占用 | 在浏览器核对地址交易序列,再刷新钱包活动记录 |
| Replacement transaction underpriced | 替代交易费用不够高 | 使用钱包内置“加速/取消”,避免手动猜 nonce 和涨幅 |
| Already known | 节点已见过同一笔签名交易 | 查交易哈希,不要连续重复广播 |
| RPC timeout / Internal JSON-RPC error | 节点超时、限流或返回了通用错误 | 先查区块浏览器状态,再用项目官方备用 RPC 重试一次 |
错误文字只是线索,不是最终原因。同一句 JSON-RPC error 可能包住不同的底层错误;优先保留交易哈希、网络、时间和钱包显示的原始信息,再逐项排除。
7. 交易 Pending:等待、提速还是取消
Submitted只说明钱包尝试广播;Pending表示交易尚未被区块确认;Confirmed表示已上链;Failed通常表示上链执行后回滚。先在对应网络的区块浏览器搜索交易哈希,不要只看网站按钮上的动画。
- 确认交易哈希能否在正确网络的区块浏览器中找到。
- 检查同一地址是否有更早、nonce 更低的 Pending 交易;后续交易会排队。
- 比较当前 Base fee 与交易的 Max fee,判断价格是否已经落后。
- 若只是 RPC 或钱包界面未刷新,切换到项目官方备用 RPC 后重新读取状态,不重复签名。
- 确需替换时,使用钱包内置的 Speed up 或 Cancel;两者通常都要使用相同 nonce 并支付更有竞争力的费用。
“取消”不是从链上撤回一笔交易,而是争取让一笔相同 nonce 的替代交易先被确认。因此它可能失败,原交易也可能抢先确认。已经确认的交易不可取消;涉及授权或资产转移时,应转入事后处置流程,而不是继续点取消。
8. 官方真实截图:Out of gas、加速与取消
下面三张图片直接引用自 MetaMask 官方帮助中心当前文章,属于真实产品界面截图,不是生成图。它们用于辨认错误和操作入口;钱包版本、网络与语言不同,按钮位置和费用数字可能变化,实际操作时仍应先核对交易哈希与网络状态。
9. 测试网 Gas 的特殊问题
测试网复制了主网的交易和 Gas 机制,但余额与主网隔离。主网账户有 ETH,不代表同一地址在 Sepolia 或项目测试网上也有测试 ETH;反过来,测试币也不应被当成主网资产出售。
- 先认网络:同一个地址在不同 Chain ID 下有不同余额和交易历史。
- 再认原生币:Faucet 发的项目代币未必是 Gas 代币;要看网络文档指定的原生资产。
- 只走官方 Faucet:从项目官网或官方文档进入,不购买所谓“测试币额度”。
- 接受基础设施不稳定:测试网 RPC、浏览器和 Faucet 可能限流或短暂停机,连续点击只会制造重复请求。
- 不补主网资产:余额不足时不要切到主网充值,也不要向陌生地址转账“激活测试网”。
如果 Faucet 已提示发送成功但钱包仍为零,按测试网水龙头排障指南检查网络、地址、交易哈希、RPC 与显示缓存;不要反复申请。
10. 为什么钱包的 Gas 估算会变化
钱包和节点通常通过模拟当前交易来估算 Gas。估算使用的是“此刻”的账户、合约和区块状态,而交易真正被打包时,价格、余额、池子报价、白名单、时间窗口或合约存储都可能已经改变。
| 变化来源 | 可能影响 | 怎么判断 |
|---|---|---|
| 网络拥堵变化 | Base fee 和建议优先费变化 | 重新获取报价;不要把几分钟前的单价当固定值 |
| 合约状态变化 | 执行路径、Gas Used 或交易结果变化 | 检查滑点、截止时间、额度和项目公告 |
| RPC 节点差异 | 估算、nonce 或余额读取暂时不一致 | 用项目官方备用 RPC 交叉核对 |
| 钱包安全缓冲 | Gas Limit 高于模拟的精确用量 | 把它视为上限;最终看回执的 Gas Used |
| L2 数据费用 | 总费用包含执行费之外的组成 | 查看该 L2 官方费用说明和回执分项 |
eth_estimateGas返回估算值,不保证交易一定成功,也可能高于最终实际使用量。模拟已经回滚时,最重要的是找出业务条件或合约错误,而不是用极高 Gas Limit 强行提交。
11. 交易前后核对清单
签名前
- 域名、网络名称与 Chain ID 都正确。
- 原生 Gas 余额足够,且与要发送的代币余额分开核对。
- 接收地址、合约、方法名和 value 符合本次目的。
- 看懂 Gas Limit、单价和总费用的区别。
- 没有更早的 Pending 交易堵住 nonce 队列。
- 不在网页输入助记词、私钥或交易所验证码。
提交后
常见问题 FAQ
Gwei 是什么,和 ETH、Wei 有什么关系?
Gwei 是以太坊常用的 Gas 单价单位。1 Gwei 等于 10 的 9 次方 Wei,也等于 10 的负 9 次方 ETH;1 ETH 等于 10 亿 Gwei。Gwei 表示计价单位,不是另一种独立代币。
钱包有代币,为什么仍提示 Insufficient funds?
支付 Gas 需要当前网络的原生代币。账户里即使有 USDT、项目代币或跨链资产,也不代表有原生 Gas;余额还必须同时覆盖转账金额和钱包按 Gas 上限计算的费用预算。
把 Gas Limit 调高会让交易更快吗?
通常不会。Gas Limit 是交易最多可消耗的计算量,不是竞价速度。交易是否更快主要与有效 Gas 单价、网络拥堵和验证者选择有关;盲目提高 Gas Limit 也不能修复合约逻辑回滚。
Pending 交易可以取消吗?
钱包所谓取消,通常是用相同 nonce 和更高费用发送一笔替代交易,并不能保证成功。原交易一旦确认就无法取消;操作前应先在对应网络的区块浏览器核对状态。
交易失败后还会扣 Gas 吗?
如果交易已经上链执行后回滚,已消耗的计算资源通常仍需支付 Gas;如果请求只在钱包模拟阶段失败、没有广播上链,则不会产生链上 Gas 费用。
测试网 Gas 需要用真钱购买吗?
不需要。测试网应使用该网络官方 Faucet 发放的测试原生代币。任何要求购买测试币、转入主网资产或提交助记词才能领取 Gas 的页面都应立即停止操作。
官方资料来源
本文核对于 2026 年 8 月 18 日。不同 EVM 网络可能调整费用模型、字段名称和替代交易规则,操作时以目标网络与钱包的最新官方说明为准。