Altcoin

我可以關閉乙太坊智能合約嗎?

  • September 19, 2021

如果我創建了一個智能合約和代幣,我是否可以在某天關閉合約並且這些代幣是無用的或不能使用?有沒有可能?

如果合約支持這樣的功能,那麼是的。

你基本上有兩個選擇:

1)編寫程式碼以根據某些標準拒絕使用合約。例如,您可以編寫一個函式,該函式在呼叫時會禁用合約中的所有其他功能。

2)在合約中實現自毀功能。這將刪除契約,之後就不能再使用了。這是錘子方法,不是很……微妙。詳細資訊:http: //solidity.readthedocs.io/en/v0.4.24/introduction-to-smart-contracts.html#self-destruct

Solidity 的 Open-Zeppelin 庫有一些生命週期合約,可以處理您描述的場景。你可以在這裡找到它們:

https://github.com/OpenZeppelin/openzeppelin-solidity/tree/master/contracts/lifecycle

可破壞的.sol

這是最類似於您要執行的操作,並支持兩個功能:

function destroy() public onlyOwner {
 selfdestruct(owner);
}

function destroyAndSend(address _recipient) public onlyOwner {
 selfdestruct(_recipient);
}

首先,它利用了另一個名為 Open-Zeppelin 的庫Ownable.sol,該庫允許合約擁有一個指定的地址作為合約的所有者。預設情況下,它是合約創建者。

然後Destructible.sol使所有者能夠專門銷毀合約,將任何剩餘的 ETH 餘額發送給他們自己或特定的接收者。

引用自:https://ethereum.stackexchange.com/questions/56520