仅供教育参考,不构成投资或交易建议。费用取决于具体的链、分叉、交易类型、执行路径、状态、费用市场、排序器或构建者政策及纳入时间。
直接答案
Gas 是协议衡量执行工作量和状态访问的记账单位;gas 费用则是用计费 gas 单位乘以每单位价格得出的货币费用。在采用 EIP-1559 的以太坊上,effectiveGasPrice = min(maxFeePerGas, baseFeePerGas + maxPriorityFeePerGas),执行费为 gasUsed * effectiveGasPrice;其中基础费部分被销毁,优先费部分通过区块的费用接收方路径支付。Gas 上限和费用上限授权的是最大值,并非一定会支出的金额。
实际 gas 用量取决于 calldata、操作码路径、内存扩展、冷/热状态访问、存储变更、嵌套调用、预编译合约、成功或失败、退款和生效的分叉。提高价格可以增强交易被纳入的竞争力,却无法修复回滚、gas 上限不足、恶意合约、过时报价或错误 calldata。Blob 交易和许多 L2 还会产生独立的数据费或协议费,不能默认并入 EVM gas。
网络费用
0.000462 native
- 法币等值
- $1.39
- 基础费
- 22 gwei
结果是教育用途的近似值。除非明确展示,否则未计入交易场所规则、税费、延迟、预言机行为及其他协议参数。
运行机制
- 锁定链、分叉、区块或状态标签、交易类型、发送者、nonce、目标地址、转账价值、calldata、访问列表、blob 字段、gas 代币和费用币种。记录报价对应的是 L1 交易、L2 执行、数据发布、提款还是组合路径。
- 在执行前重建固有 gas:交易信封、calldata 字节成本、合约创建与访问列表费用以及交易类型特有开销。如果 gas 上限低于固有 gas,或发送者无法满足协议的最大成本有效性检查,交易会在纳入执行前被拒绝,而不是纳入后回滚。
- 按目标分叉追踪执行。测量操作码动态成本、内存扩展、冷/热账户或存储槽、
SSTORE、调用 gas 转发、价值转移、预编译费用、日志和退款。同一个 ABI 函数在不同状态下可能走不同分支并使用不同 gas。 - 区分结果。执行成功会提交效果。
REVERT会回滚失败作用域,并可能返还该调用帧未使用的 gas;gas 耗尽这一异常停机会通常耗尽分配给该调用帧的 gas。被纳入的顶层失败即使回滚合约状态、价值转移和日志,仍会消耗发送者 nonce 和计费 gas。 - 为执行 gas 定价。对类型 2 交易,根据基础费、优先费上限和总费用上限计算实际 gas 价格,再把计费 gas 拆分为销毁的基础费与优先费。应区分未使用 gas、未支出的费用上限余量,以及合资格状态清理产生且受生效退款上限约束的协议 gas 退款。
- 单独计算其他费用市场。Blob 交易除执行 gas 外还支付
blobGasUsed * blobGasPrice,并受maxFeePerBlobGas约束;blob 基础费采用独立调整路径。L2 用户费用可能包括 L2 执行费、压缩后的 L1 数据费或 blob 成本、运营者或协议收费及利润加成;公式与标量参数取决于具体部署和升级。 - 对账估算、纳入和收据。签名前,按转账价值加授权的最高费用核验余额,在锁定状态下模拟并设置有界费用上限。纳入后,记录 gas 上限、收据 gas 用量、实际价格、基础费、优先费、退款影响、blob gas、L2 费用字段、状态和余额变动;分别处理估算误差、交易替换和最终确定性。
计算示例
- 类型 2 成功交易与上限。 Gas 上限为
120,000,gas 用量为70,000,基础费为25 gwei,最高优先费为3 gwei,最高费用为40 gwei。实际价格为min(40, 25 + 3) = 28 gwei;实际费用为70,000 * 28 gwei = 0.001960 ETH,其中0.001750 ETH被销毁,0.000210 ETH是优先费。执行费授权上限为120,000 * 40 gwei = 0.004800 ETH;未使用的50,000 gas和未支出的费用上限余量都不是协议状态清理退款。 - REVERT 与 gas 耗尽。 两个已纳入调用的 gas 上限均为
100,000,实际价格均为30 gwei。调用 A 执行REVERT时,收据 gas 用量达到60,000,费用为60,000 * 30 gwei = 0.001800 ETH。调用 B 耗尽整个交易 gas 上限,费用为100,000 * 30 gwei = 0.003000 ETH。两次顶层失败都会回滚合约效果并消耗发送者 nonce,但 REVERT 可保留未使用 gas,gas 耗尽则不会。 - 退款上限。 在限定于 EIP-3529 分叉的教学案例中,执行在退款前消耗
100,000 gas,产生30,000 gas的退款计数器。可应用的最高退款为100,000 / 5 = 20,000 gas,因此计费 gas 为100,000 - 20,000 = 80,000 gas。按20 gwei计算,费用是0.001600 ETH而非0.002000 ETH,节省0.000400 ETH;退款规则和合资格操作可能随分叉改变。 - 独立 blob 费用市场。 假设某 blob 交易使用
100,000执行 gas,价格为20 gwei,并携带两个 blob。按131,072 blob gas/blob,blob gas 用量为262,144;若 blob gas 价格为5 gwei,blob 费用是262,144 * 5 gwei = 0.00131072 ETH。执行费为0.002000 ETH,协议费用合计0.00331072 ETH。这里的5 gwei仅为示例;blob 费用既不是验证者优先费,也不是 L2 用户的完整端到端费用。
风险
- 使用错误的链、分叉、gas 代币、交易类型或费用币种。
- 混淆 gas 单位、wei、gwei、ETH 和法币换算。
- 把 gas 上限当成预期或实际费用。
- 无法通过固有 gas 或最大成本的执行前有效性检查。
- 状态、基础费或 calldata 变化后仍依赖过时估算。
- 把 gas 上限设得低于实际执行分支所需用量。
- 误以为提高 gas 价格可以防止合约回滚。
- 混淆 REVERT、gas 耗尽、无效操作码和执行前拒绝。
- 顶层状态为
1时漏查已被捕获的子调用失败。 - 错算冷/热状态访问或使用不完整的访问列表。
- 忽略内存扩展、调用 gas 转发、预编译或日志成本。
- 使用过时的存储退款规则或超过退款上限。
- 把未使用 gas 或费用上限余量算作协议 gas 退款。
- 将最高费用设得低于纳入区块的基础费。
- 在不了解构建者或排序器政策时过付优先费。
- 持有其他资产却没有原生 gas 代币。
- 遗漏 blob gas、blob 费用上限或数据可用性费用。
- 把某个 L2 的执行、数据、标量和运营者费用公式视为通用公式。
- 忽略交易替换、nonce、交易丢弃和余额预留的竞态。
- 把已付费或成功的交易当作合约安全或最终确定的证明。
常见误区
- Gas 按转账价值的百分比收取。
- 提高 gas 上限必然增加实际收费。
- 较高的最高费用或优先费能保证执行成功。
- 所有未使用的授权额度和状态清理退款都是同一种机制。
- L2 费用只等于本地 EVM gas,blob 费用就是普通执行 gas。
相关主题
来源
- Ethereum gas and fees: technical overview - Ethereum.org(查阅日期:2026-08-12)
- Transactions - Ethereum.org(查阅日期:2026-08-12)
- EIP-1559: Fee market change for ETH 1.0 chain - Ethereum Improvement Proposals(查阅日期:2026-08-12)
- EIP-2929: Gas cost increases for state access opcodes - Ethereum Improvement Proposals(查阅日期:2026-08-12)
- EIP-3529: Reduction in refunds - Ethereum Improvement Proposals(查阅日期:2026-08-12)
- EIP-4844: Shard Blob Transactions - Ethereum Improvement Proposals(查阅日期:2026-08-12)
- Execution Engine - OP Stack Specification(查阅日期:2026-08-12)
- Transaction fees on OP Mainnet - Optimism Documentation(查阅日期:2026-08-12)