它通过使用 testrpc 部署到节点中它在该节点中不起作用,尤其是 transferto 功能和提款功能。如何解决此问题。它仅在编译器版本中工作:0.4.25+commit.59dbf8f1.Emscripten.clang,它正在工作更高版本的编译器。
2 回答
0
它可以在更高版本中工作的原因是因为你有 constructor() 函数。如果您希望此合约适用于以前的版本,请创建构造函数作为函数 ethertransfer(),当您有还原错误时,很可能会发生,因为您在 require() 语句中编写的条件。Require 语句也接受第二个参数一个字符串,你可以把它放在描述中。仔细检查所有要求语句,我强烈建议的另一个选项是使用 remix 浏览器 ide。在那里,您可以通过调试工具进行调试,因为它将帮助您介入并跳过事务流程。因此,最终很容易确定问题的根本原因。
于 2018-12-18T03:47:07.677 回答
0
看起来代码很好,
确保合约有一些以太币余额require(address(this).balance >= amount);
你从所有者地址调用这些函数require(msg.sender == _owner);
如果您使用 Solidity 版本 >= 5.0.0,请使用提款模式https://solidity.readthedocs.io/en/v0.5.0/common-patterns.html#withdrawal-pattern
于 2018-12-17T20:27:28.080 回答