1. 문제 초능력(?)을 사용해서 10번 연속으로 코인 뒤집기의 결과를 맞춰라. // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract CoinFlip { uint256 public consecutiveWins; uint256 lastHash; uint256 FACTOR = 57896044618658097711785492504343953926634992332820282019728792003956564819968; constructor() { consecutiveWins = 0; } function flip(bool _guess) public returns (bool) { uint256 blockValue = uint256(blockhash(bl..
1. 문제 아래의 컨트랙트의 소유권을 탈취해라. // SPDX-License-Identifier: MIT pragma solidity ^0.6.0; import 'openzeppelin-contracts-06/math/SafeMath.sol'; contract Fallout { using SafeMath for uint256; mapping (address => uint) allocations; address payable public owner; /* constructor */ function Fal1out() public payable { owner = msg.sender; allocations[owner] = msg.value; } modifier onlyOwner { require( msg.sen..
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..
1. 지원되는 네트워크 선택 goerli는 조만간 비활성화되므로 polygon mumbai 또는 sepolia를 사용할 것을 권장합니다. 2. 새로운 인스턴스 생성 Get new instance 버튼을 클릭하여 새로운 인스턴스(스마트 컨트랙트)를 생성합니다. 이 인스턴스를 사용해 게임을 진행합니다. 3. 브라우저 콘솔창 열기 브라우저의 콘솔창을 열어 스마트 컨트랙트와 상호작용을 준비합니다. 상호작용에 앞서, contract.abi를 입력하여 어떤 메서드들이 있는지 확인할 수 있습니다. 4. 스마트 컨트랙트와 상호작용 먼저 contract.info()를 콘솔창에 입력합니다. 이때 반환되는 값이 Promise 이므로 await를 붙여야 바로바로 응답을 확인할 수 있습니다. 4-1. info 4-2. info..