1.位元組碼中有一個selfdestruct指令,用于銷毀合約,所以只需要暴露出自毀介面即可:
contract Mortal{
//自毀
function destroy() public{
selfdestruct(msg.sender);
}
}
2.Automatic Deprecation - 允許合約自動停止服務
如果你希望一個合約在指定期限后停止服務,而不需要人工介入,可以使用Automatic Deprecation模式,
contract AutoDeprecated{
uint private _deadline;
function setDeadline(uint time) public {
_deadline = time;
}
modifier notExpired(){
require(now <= _deadline);
_;
}
function service() public notExpired{
//some code
}
}
當用戶呼叫service,notExpired修飾符會先進行日期檢測,這樣,一旦過了特定時間,呼叫就會因過期而被攔截在notExpired層,
ps: 合約部署前只能是內置了上述的函式,才能手動觸發或者定時觸發銷毀,否則部署的合約會永久性的運行在系統之中,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/56501.html
標籤:其他
上一篇:區塊鏈安全事件與代碼審計
