본문 바로가기
aaa
블록체인

이더넛 시작 & 레벨 0

이더넛 시작 & 레벨 0

 

 

 

이더넛은 오픈제플린(OpenZeppelin)이 제공하는 서비스로

Web3 / 솔리디티(Solidity) 기반 게임입니다.

 

플레이어는 레벨을 통과하면서 다양한 스마트컨트랙트를

접하면서 보안 취약점을 공부할 수 있습니다.

 

 

 

 

Ethernaut

 

ethernaut.openzeppelin.com

 

 

Hello Ethernaut !

 

 

0레벨 단계 'Hello Ethernaut'에서는

이더넛을 플레이하기 위해 기본적인 설정을합니다.

 

 

개발자 툴

개발자 툴(F12)을 열면 이런 창이 나옵니다.

 

 

 

 

help()

help()

콘솔창에 help()라고 입력하면 명령어들을 볼 수 있습니다.

 

 

 

 

getBalance(player)

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()

에 비밀번호를 넣으면 완료~!

 

 

 

레벨0 클리어

Submit instance 버튼을 정답을 제출하면

트랜잭션 승인이 창이 뜹니다.

 

 

승인하고 정답이 맞았는지 검증과정을 거치고

정답이 맞으면 위와 문구가 콘솔창에 출력됩니다.

 

 

 


loading