solidity selfdestruct合约销毁

solidity selfdestruct合约销毁

1、部署合约,附带value

2、获取合约地址的eth余额,余额为第一步附带的value

3、调用方法killSelf,进行合约的销毁,并把剩余的ETH转给receiver

solidity 复制代码
// SPDX-License-Identifier: MIT
pragma solidity >=0.8.0 <0.8.18;

contract Destroy {
    address public owner;

    constructor() payable {
        owner = msg.sender;
    }

    event Receive(address indexed sender, uint256 amount, string data);

    receive() external payable {
        emit Receive(msg.sender, msg.value, "Receive Success");
    }

    function killSelf(address receiver) public {
        require(msg.sender == owner, "Only owner can call this function");

        // // 调用selfdestruct销毁合约,并把剩余的ETH转给receiver
        selfdestruct(payable(receiver));
    }

    // 获取合约地址的eth余额
    function getBalance() public view returns (uint256) {
        return address(this).balance;
    }
}
相关推荐
多年小白7 小时前
兆易创新分析
大数据·人工智能·ai·金融·区块链
Richown9 小时前
数据可视化:使用D3.js创建交互式图表
区块链·react
liudanzhengxi10 小时前
ImToken智能合约交互避坑指南
区块链
Richown11 小时前
微服务通信:gRPC与REST对比分析
区块链·react
Richown13 小时前
Git工作流:GitFlow与GitHub Flow最佳实践
区块链·react
Richown15 小时前
智能合约测试:使用Foundry进行形式化验证
区块链·react
Richown15 小时前
前端安全:XSS、CSRF攻击与防御
区块链·react
Richown16 小时前
CI/CD流水线:使用GitHub Actions自动化部署
区块链·react
Richown16 小时前
前端工程化:Vite与Rollup构建优化
区块链·react
Richown16 小时前
数据分析:Pandas与数据清洗实战
区块链·react