1. 什么情况下需要使用合约销毁?
销毁合约只是让你的智能合约无法再继续工作,但是在区块链上的数据还是保留的。什么情况下需要使用到销毁合约?
- 你的智能合约在不使用的情况下,你可以把它给销毁。
- 强迫你的用户放弃旧的智能合约,使用新的智能合约,所以必须把旧的给销毁。但是由于目前智能合约是能够升级的,所以不赞成使用这方法。
- 你的合约受攻击到了不可挽回的地步,就必须被迫强行销毁。记得,在销毁之前你必须把旧合约内的代币给迁移出来,不然你旧合约的代币也是找不回来的。
2. 如何进行合约销毁?
2.1 合约销毁的原理
比如一个自动售货机,当一件产品不再供货销售时,就可以将该产品对应的调取函数作废掉。
2.2 合约销毁用到的基本命令
SelfDestruct
2.3 合约销毁的步骤
1
2
3
3. 合约销毁的案例
3.1 案例1:销毁不再使用的合约(合约中无Token)
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.15;
contract xiaohui{
uint money = 0;
address owner;
constructor () {
owner = msg.sender;
}
function increcement() public {
money += 10;
}
modifier ownercontrol