이더넛 시작 & 레벨 0
이더넛은 오픈제플린(OpenZeppelin)이 제공하는 서비스로
Web3 / 솔리디티(Solidity) 기반 게임입니다.
플레이어는 레벨을 통과하면서 다양한 스마트컨트랙트를
접하면서 보안 취약점을 공부할 수 있습니다.
- 이더넛 홈페이지 주소: https://ethernaut.openzeppelin.com/
Hello Ethernaut !
0레벨 단계 'Hello Ethernaut'에서는
이더넛을 플레이하기 위해 기본적인 설정을합니다.
- 메타마스크 설치
- 개발자 툴 열기(F12)
- https://faucet.rinkeby.io/ 에서 테스트 이더리움 받기.
개발자 툴(F12)을 열면 이런 창이 나옵니다.
help()
콘솔창에 help()라고 입력하면 명령어들을 볼 수 있습니다.
getBalance(player)
getBalance(player)
> 플레이어(나)의 이더리움 잔고를 불러옵니다.
Get new instance 버튼을 누르면 문제가 생성됩니다.
Submit instance 를 누르면 플레이어가 문제를 해결했는지 확인합니다.
Get new instance 을 누르면
문제를 해결 대상 스마트컨트랙트를 배포하기 위한
메타마스크 트랜잭션 승인창이 뜹니다.
스마트컨트랙트 배포 트랜잭션이 완료되면
위와 같이 Instance address가 뜹니다.
레벨 0 풀이
await cotract.functionName()
위와 같은 명령어로 현재 바라보고 있는
컨트랙트의 함수를 호출할 수 있습니다.
혹은 함수명에 변수명을 입력하면
변수에 대입된 값을 리턴 받습니다.
await contract.info()
=> 컨트랙트 info 함수를 호출.
를 시작으로 다음 단계로 가는 단서를 알 수 있습니다.
infoNum()을 통해
다음 호출할 함수가 info42임을 알 수 있습니다.
패스워드까지 얻어내고
await contract.authenticate()
에 비밀번호를 넣으면 완료~!
Submit instance 버튼을 정답을 제출하면
트랜잭션 승인이 창이 뜹니다.
승인하고 정답이 맞았는지 검증과정을 거치고
정답이 맞으면 위와 문구가 콘솔창에 출력됩니다.
'블록체인' 카테고리의 다른 글
이더넛 레벨2 풀기 (0) | 2021.08.10 |
---|---|
이더넛 레벨1 풀기 (0) | 2021.08.10 |
이더스캔 만들기 (0) | 2021.08.06 |
블록체인에 절대 지울 수 없는 메시지 남기기. (0) | 2021.08.05 |
[EIP-1559] 런던 하드포크 마침내 활성화 되다. (0) | 2021.08.05 |