목록Ethereum (14)
Pwnstar
이번 문제는 Telephone 이 level의 ownership을 획득하면 되고, coin flip 문제와 마찬가지로 Beyond the console을 보면 되는데, 저번 문제에서 봤으므로 넘어가도록 하쟈. 코드가 무척 짧다.// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract Telephone { address public owner; constructor() { owner = msg.sender; } function changeOwner(address _owner) public { if (tx.origin != msg.sender) { owner = _owner; } } } 생성자는 늘 보던거랑 비슷하니 넘어가도록 하고, changeOw..
coin flip 이라는 문제인데, 10번의 결과를 맞추면 되고 “?”에서 Beyound the console 부분을 보면 도움이 될 거라고 한다. Remix IDE를 이용하거나 local ruffle project를 설정해서 콘솔 밖에서 컨트랙트에 개입하라는 것 같은데, 뭔 말인지 모르겠지만 일단 Remix를 써 본 적이 있어 이게 그나마 친숙하니 그걸 사용해보기로 했다. 소스코드// SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract CoinFlip { uint256 public consecutiveWins; uint256 lastHash; uint256 FACTOR = 5789604461865809771178549250434395392663..
버그헌팅하다가 문제 푸는게 좀 늦어졌다. 마찬가지로 컨트랙트의 ownership을 획득해야하는 문제로 보인다Remix IDE가 도움이 될거라고 하는데 코드 분석을 하고 한번 Remix에 돌려보자. // 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 = ..
코드를 보고 컨트랙트의 소유권을 획득하거나 balance를 0으로 만들면 된다고 한다.ABI와 상호작용할 때 이더를 어떻게 보내는 지ABI 밖에서 이더를 어떻게 보내는지wei와 ether를 전환Fallback 메서드 다음과 같은 것들을 알면 문제 풀이에 도움이 될 것이라고 한다.여기서 ABI는 컨트랙트 내의 함수를 호출하거나 컨트랙트로부터 데이터를 얻는 방법이다. solidity 코드가 있으니 보고 분석을 해 보자. // SPDX-License-Identifier: MIT pragma solidity ^0.8.0; contract Fallback { mapping(address => uint) public contributions; address public owner; constructor() { ow..
혼자 힘으로 풀어 뿌듯하긴 한데 첫 문제의 도움말은 꼭 보고 풀길 바란다. 그런걸 원체 안보는 성격이라 환경설정하는 부분만 보고 처음 문제 접근하는 부분을 안봤더니 혼자 개같이 고생하다 도움말 보고 수월하게 풀었다. 설정 부분을 제외하고, 도움말의 2번부터 보면 2. Open the browser’s console개발자 도구를 열어 콘솔에 player 를 입력하면 사용자의 주소를 볼 수 있다. 3. Use the console helpersgetBalance(player)현재 나의 Ether balance를 볼 수 있다.balance가 뭔지 알 수가 없었다. 하지만 명령어를 입력해보면이렇게 나오고, Promise를 눌러보면PromiseResult현재 나의 잔고 ether를 보여준다.나머지 Prototyp..
메타마스크(chrome extension) 설치 The crypto wallet for Defi, Web3 Dapps and NFTs | MetaMaskA safe crypto wallet for digital tokens & NFTs. Join the blockchain and DeFi world.https://metamask.io/설치 후 우측 상단 프로필 사진 클릭 후 설정 → 고급 → (테스트 네트워크 보기)를 켜준다.우측 상단에 프로필 사진 바로 옆에 이더리움 메인넷을 Goerli 테스트 네트워크로 번환 여기에 이제 테스트 이더를 faucet에서 받으면 된다. 💡faucet : 테스트넷에서 사용할 수 있는 무료 테스트 이더의 형태로 자금을 분배하는 서비스 https://goerlifaucet.c..