繁体   English   中英

处理事务时VM异常:气体估算错误

[英]VM Exception while processing transaction:Gas estimation errored

它通过使用testrpc部署到节点中,在该节点中不起作用,尤其是transferto函数和撤回函数。如何解决此问题。它仅在编译器版本:0.4.25 + commit.59dbf8f1.Emscripten.clang中起作用,在更高版本的编译器。

似乎代码很好,

确保合约上有一些require(address(this).balance >= amount);余额require(address(this).balance >= amount);

并且您从所有者地址require(msg.sender == _owner);调用这些函数require(msg.sender == _owner);

如果您使用的是Solidity版本> = 5.0.0,请使用提款方式https://solidity.readthedocs.io/en/v0.5.0/common-patterns.html#withdrawal-pattern

之所以可以在更高版本中使用它,是因为您具有Constructor()函数。 如果您想让此合同适用于以前的版本,则在发生还原错误时也很有可能将构造函数创建为ethertransfer()函数,因为您在require()语句中编写的条件很可能会发生此错误。 Require语句还接受第二个参数,您可以在其中添加描述字符串。 仔细检查所有require语句,我强烈建议另一个选择是使用remix浏览器ide。 在那里,您可以通过调试工具进行调试,因为它将帮助您介入和逐步执行事务流程。 这样一来,最终可以很容易地确定问题的根本原因。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM