首页 > 解决方案 > 恢复可靠性错误

问题描述

function transferOwnership(address _new) onlyOwner {
    address oldaddr = owner;
    owner = _new;
    TransferOwnership(oldaddr, owner);

消息是

revert 事务已恢复到初始状态。注意:构造函数应该支付给你发送的值。

我不知道为什么它不起作用。

标签: solidityrevert

解决方案


由于错误清楚地表明您正在尝试通过调用函数 transferOwnership() 将一些以太币发送到合约中(我假设您的合约名称也是 transferOwnership),并且不要认为您有一个回调函数或者支付修饰符. 向您的函数添加应付修饰符,如下所示

function transferOwnership(address _new) onlyOwner payable public {
    address oldaddr = owner;
    owner = _new;
    TransferOwnership(oldaddr, owner);}

推荐阅读