有些用户可能会认为这并不公平,但本质上矿工已经在做功计算,只是算到一半 Gas 不够了,所以矿工只能放弃继续作业,但之前的工作需要被支付「工资」,因此之前交的 Gas 费不退大概也可以理解了。遇到这种情况,用户只能重新再发起一次交易,并将此交易的 Gas Limit 上调。 另一种交易失败的情况是,当用户向智能合约发起交易转账,但某些错误导致无法执行合约时,交易会返回 Bad Instruction。 比如,当用户参与类似于众筹活动时,可能会发生下面这些情况: 额度已满; 或用户未被列入白名单; 或用户超额认购代币等情况。 此时,用户所设置的 Gas Limit 将会被全部用尽,最终导致交易失败。 不过以太坊拜占庭硬分叉后,增添了新的操作符 Reverted (EIP-140)。当合约中出现错误导致交易失败时,交易将不会耗尽 Gas Limit 所设定的所有 Gas,合约将停止执行并退回剩余 Gas 费用,同时告知用户错误原因。 当然,如果用户钱包中 ETH 的数量不足以支付 Gas 费用时,交易也会被判定为失败。 在没有热点的时候,以太坊网络一片祥和,所有的转账成本,包括时间和金额都还可控,但当风口到来,大家在网络中就会遇到各种问题,gas 费的逻辑是新人使用钱包时最大障碍。 基本上,在 gas 费会遇到的所有问题,这篇文章都覆盖到了,链上交易并不复杂,说简单点,一切操作有问题,加钱就可以搞定。 这场运动目前看来,以太坊上流动性挖矿的热潮暂时告一段落,这场运动除了创造出一片泡沫之外,也让更多用户开始习惯钱包的使用,钱包终于成了一个高频使用工具。 而链上交易发生的问题其实也在为钱包的优化提供空间,为新人提供「一键加速」、「一键取消」这样的服务或许将可以在越来越多的钱包中看到。 (责任编辑:admin) |