Blockchain 合同被杀死,但收到乙醚
我对坚固性中的自毁功能表示怀疑。我的合同如下:Blockchain 合同被杀死,但收到乙醚,blockchain,ethereum,solidity,Blockchain,Ethereum,Solidity,我对坚固性中的自毁功能表示怀疑。我的合同如下: pragma solidity ^0.4.25; contract TestMetamask { string public name = "Joao"; event EtherReceived(); function changeName(string _name) public { name = _name; } function() public payable { emit EtherReceived()
pragma solidity ^0.4.25;
contract TestMetamask {
string public name = "Joao";
event EtherReceived();
function changeName(string _name) public {
name = _name;
}
function() public payable {
emit EtherReceived();
}
function receiveEther() payable public {
address(this).transfer(msg.value);
}
function balance() public view returns (uint256) {
return address(this).balance;
}
function kill() public {
selfdestruct(msg.sender);
}
}
所以这个契约是有效的,但是当我执行函数kill()时,契约在函数paymentreceiveEther中不断获取接收以太。
另一个函数不起作用,并且状态变量是干净的,问题只是契约被破坏了
这是rinkeby的合同地址:
有人经历过同样的情况吗
tks.自毁后,仍有可能将乙醚发送到合同中,合同将永远丢失。 请参见此问题: