区块链 · 数字资产知识 · 行业资讯
文章库关于本站

数字资产知识

区块链Gas费由什么组成|看懂用量、单价与失败交易费用

摘要

钱包里显示的最高费用,不一定是交易最终支付的费用。以以太坊普通执行费用为例,先分清消耗的 Gas、每单位价格和用户设置的上限。

区块链gas费的科技主题配图

先看计算对象是哪一种费用

Gas 是对以太坊执行操作所需计算资源的计量,不是转账金额的百分比。同样转移一单位资产,直接发送原生资产与调用复杂合约,执行路径不同,资源消耗就可能不同。

这里讨论普通以太坊执行费用。跨链服务费、交易平台提币费以及部分二层网络的数据费用,可能包含额外组成,不能拿钱包中的一个总价直接代入同一公式,也不应把其他链的费用单位叫作以太坊 Gas。

实付由实际用量乘有效单价

对普通执行费用,可以用实际消耗的 Gas 乘每单位实际价格理解。采用相关动态费用机制时,这个单价由基础费与实际优先费组成。基础费按协议处理,优先费交给相应的费用接收方。

假设某笔合约调用实际消耗四万 Gas,有效单价为十五 gwei,执行费为六十万 gwei,也就是零点零零零六 ETH。数字只用于演示换算,并非当前报价;真实结果应查交易回执。

智能合约区块链的科技主题配图

三个上限不能混成一个数

Gas limit 限制这笔交易允许使用的 Gas 数量;maxFeePerGas 限制每单位愿意支付的总费用;maxPriorityFeePerGas 限制优先费。用量上限与单价上限分别控制不同维度。

实际优先费还受总费用上限减去基础费后的空间约束。因此,设置较高上限不代表一定按上限付满。反过来,若当前基础费超过可接受上限,交易也可能暂时无法被纳入区块。

失败是否收费,要看走到哪一步

已经被区块纳入并执行、随后因合约条件不满足而回退的交易,仍然消耗了计算资源,所以可能产生费用。业务操作失败与协议不计费不是同一件事,不能只凭钱包的红色提示判断。

若请求在本地构造阶段就被拒绝,或者根本没有作为交易在链上执行,则不属于上述链上失败收费情形。排查时先找交易哈希和回执,再看执行状态、实际 Gas 用量与费用字段。

做费用记录时保留单位和时点

记录一次费用可写成网络、交易哈希、执行状态、实际用量、有效单价和最终金额六项。估算页面与完成后的回执分开保存,避免事后把提交时预测值当成最终扣费。

比较两笔费用时,还要检查执行内容是否相同、数据来自哪个区块、价格单位是否一致。低单价不一定对应低总费用,失败也不一定没有支出;可复查的明细比一句贵或便宜更有用。

← 返回全部文章

延伸阅读 · 相关栏目

区块链基础技术原理数字资产知识资料与核验