1. 문제 아래의 컨트랙트는 아주 간단한 게임입니다. 현재 컨트랙트의 상금보다 더 많은 금액을 컨트랙트에게 보내는 누구나 새로운 왕이 될 수 있습니다. 이 게임을 완전히 망가트려 보세요. *주의* 인스턴스를 제출할 때 관리자는 왕권을 다시 탈환하려 할 것입니다. 그러한 행위가 불가능하도록 하세요. // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract King { address king; uint public prize; address public owner; constructor() payable { owner = msg.sender; king = msg.sender; prize = msg.value; } receive() external p..
1. 문제 아래의 컨트랙트 코드를 잘 살펴보고 다음의 문제를 해결하자. 1. 컨트랙트의 소유권을 탈취해라. 2. 컨트랙트의 이더 잔액(balance)을 0으로 만들어라. // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract Fallback { mapping(address => uint) public contributions; address public owner; constructor() { owner = msg.sender; contributions[msg.sender] = 1000 * (1 ether); } modifier onlyOwner { require( msg.sender == owner, "caller is not the owne..