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;
    }
}
相关推荐
Richown12 小时前
跨链桥接:多链资产转移实现
区块链·react
master-dragon12 小时前
区块链共识机制基础知识
区块链
kida_yuan12 小时前
【以太来袭】7. Besu 性能基线(Caliper)
区块链·测试
穗余15 小时前
什么是ERC-8004
人工智能·web3·区块链
Richown15 小时前
区块链开发:智能合约测试与调试技巧
区块链·react
Richown1 天前
物联网开发:MQTT与传感器数据采集
区块链·react
葫三生1 天前
《论三生原理》对《周易》《道德经》的一次根本性重写?
人工智能·算法·计算机视觉·区块链·量子计算
Richown2 天前
性能优化:前端加载性能优化指南
区块链·react
Richown2 天前
后端性能:Node.js性能优化与调优
区块链·react