问题表现和分析
https://goerli.etherscan.io/tx/0x108fc2846950d188829c25bccbbdca5e844b42f5426d9b9bbc8ca77ab13f9d98
上图的绿框提示了out of gas错误,并且Gas Limit & Usage by Txn已经达到了设置100%,说明小狐狸设置的Gas Limit不够了。
解决方案
客户端对小狐狸进行设置,具体步骤如下:
- 在发送交易时弹出上点击【建议的网站】
- 在建议的网站页面,点击【高级】
- 在高级的弹出窗中,点击【燃料限制】进行编辑
- 编辑【燃料限制】后进行保存即可
注意⚠️:这样的修改仅仅适用于本次的交易提交,要修改为默认需从 高级 进行设置。
此时,再进行提交发现成功了,scan页面如下:
可以看到提交之后Gas Limit & Usage by Txn实际需要 67,827 (18.18%),此时仅仅使用了Gas Limit的18.18%
问题和解决方案分析
先理解Gas Price和Gas limit。
- Gas Price是指,Gas的单价,即每个Gas值多少Ether。单价越高,矿工们就会越优先打包你的交易,你的交易完成的速度就会越快。但是调高Gas price并不能解决OOG(Out of Gas 下同)的问题。
- Gas limit是指,本次交易最多可花费多少Gas的上限。调高它就可以解决大部分的OOG问题,并且,调高它并不会提高你的Gas花费,剩余的Gas会重新返还到你的账户当中的。
但是也不能太高,高过创世节点配置的最大值,否则就会出现这样的错误:
{"code":-32000,"message":"exceeds block gas limit"}
Out of gas同类错误提示
Warning! Error encountered during contract execution [**Out of gas**]
或者是
Although one or More Error Occured [**Out of gas**] Contract Execution Completed