diff --git a/docs/solidity-102/26_DeleteContract/readme.md b/docs/solidity-102/26_DeleteContract/readme.md index e9ea6523..2d4fe7f5 100755 --- a/docs/solidity-102/26_DeleteContract/readme.md +++ b/docs/solidity-102/26_DeleteContract/readme.md @@ -77,18 +77,22 @@ contract DeleteContract { 1. 部署合约并且转入1ETH,查看合约状态 ![deployContract.png](./img/26-1.png) -2. 销毁合约,查看合约状态 + +3. 销毁合约,查看合约状态 ![deleteContract.png](./img/26-2.png) + 从测试中观察合约状态可以发现合约销毁后的ETH返回给了指定的地址,在合约销毁后再次调用合约函数进行交互则会失败。 ##### 坎昆升级之后 1. 部署合约并且转入1ETH,查看合约状态 ![deployContract2.png](./img/26-3.png) -2. 销毁合约,查看合约状态 + +3. 销毁合约,查看合约状态 ![deleteContract2.png](./img/26-4.png) + 从测试中观察合约状态可以发现合约包含的ETH已经清零(返回给了指定的地址),再次调用合约函数进行交互依然可以成功。 @@ -129,7 +133,8 @@ contract DeployContract { 1. 部署`DeployContract`合约并且转入1ETH调用`demo`方法,查看合约状态,显示`DeleteContract`已被正确部署,且在`selfdestruct`后ETH已转移到`DeployContract`。 ![deployContract3.png](./img/26-5.png) -2. 选择导入返回值中的地址为`DeleteContract`。显示该地址不存有ETH,且调用合约函数进行交互均失败。 + +3. 选择导入返回值中的地址为`DeleteContract`。显示该地址不存有ETH,且调用合约函数进行交互均失败。 ![deleteContract3.png](./img/26-6.png) @@ -144,4 +149,4 @@ contract DeployContract { `selfdestruct`是智能合约的紧急按钮,销毁合约并将剩余`ETH`转移到指定账户。当著名的`The DAO`攻击发生时,以太坊的创始人们一定后悔过没有在合约里加入`selfdestruct`来停止黑客的攻击吧。在坎昆升级后,`selfdestruct`的作用也逐渐发生了改变,什么都不是一成不变的,还是要保持学习。 - \ No newline at end of file +