跳到主要内容
知识地图Ethereum Gas:失败为何也消耗费用外部项目

你在这里。看看这个问题与其他知识怎样相连。

选择节点前往页面 · 展开后可留在地图中阅读

知识地图沿着连接,读懂一个问题
← 区块链与共享状态

一个问题

Ethereum Gas:失败为何也消耗费用

区分执行工作量、转账金额与交易费用。

Gas 衡量执行工作量,不等于正在转账的金额。即使一次合约调用没有向收款人发送 ETH,节点执行了计算,仍可能消耗 Gas。

一次失败的预订

假设合约检查门票余量后,拒绝了预订。调用回滚,会撤销应用状态的修改,却不会让已经执行的检查消失。因此,一笔已经被纳入区块、执行失败的交易,仍可能产生费用。

执行费用取决于实际消耗的 Gas 与每单位 Gas 的价格。Gas limit 限制允许消耗的工作量,并不保证调用成功。Ethereum 的费用包含协议基础费与优先费。应用需要估算工作量和费用设置,不能把转账金额当作执行预算。

比较 Circle Arc 的 USDC Gas时,应分别问:用什么资产支付执行费用,费用怎样计算?同样是 EVM 调用,不意味着费用资产和计费规则相同。

来源与延伸阅读