Solidity 练习:删除合约

2022-12-29 Web3 Solidity

# 一、题目说明

可以使用 selfdestruct 函数从区块链中永远删除合约。

selfdestruct 只接受一个参数,即一个 payable 的地址,以强制发送合约中存储的所有 Ether。下面是一个例子:

selfdestruct(payable(msg.sender))
1
  • 将 msg.sender 转换为 payable 地址。
  • 将合约持有的所有 Ether 发送给 msg.sender。
  • 从区块链中删除合约。

# 二、任务列表

  • 编写 kill 函数,将该合约删除,并将存储的 Ether 发送给 msg.sender。

# 三、解答代码

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.17;

contract Kill {
    function kill() external {
        selfdestruct(payable(msg.sender));
    }
}
1
2
3
4
5
6
7
8

# 四、参考资料

Last Updated: 2023-01-28 4:31:25