[가상화폐] [Ethereum] Ethernaut 풀이 - 0.Hello Ethenaut

iron_modolee.png
안녕하세요. 개발자 모도리입니다.
지난 포스팅(Ethernaut 소개)에서는 Ethernaut을 소개하고 이용하기 전 준비 사항들을 알아봤습니다. 이번에는 본격적으로 Level 0 문제를 풀어 보도록 하겠습니다.

0.Hello Ethernaut

지난 번 포스팅에서는 9번 항목의 맛보기까지만 진행을 했습니다.
00_previous_post.png

TIP!을 잘 생각하면서 진행을 해보겠습니다.

contract.info()

  • info 함수를 호출하면 아래와 같은 메세지가 나옵니다.
    01_info.png
  • info1 함수를 호출해 봐야겠죠?

contract.info1()

  • info1 함수를 호출한 화면입니다.
    02_info1.png
  • 이번에는 info2를 호출하라고 하는데, parameter로 "Hello"를 넣으라고 하네요.

contract.info2()

  • 시키는데로 info2 함수에 parameter로 "Hello"를 넣어서 호출합니다.
    03_info2.png
  • infoNum이라는 property가 다음 info 함수의 숫자를 가지고 있는데, infoNum 이라는게 있는건지 Num 대신 무슨 숫자를 넣어야 될지 조금 헷갈립니다.
  • 이때 아까 TIP!!!이 있었죠. contract의 ABI를 확인해 보겠습니다. contract 명령어를 입력합니다.
    04_abi_infoNum.png
  • 실제로 infoNum이라는 함수가 존재하네요.

contract.infoNum()

  • 존재를 확인했으니 infoNum 을 호출해 봅니다.
    04_infoNum.png
  • 분명 infoNum이 다음 info 함수의 숫자를 가지고 있다고 했는데, 그냥 봐서는 잘 모르겠습니다. 그래서 결과 값을 한번 펼쳐봤습니다. 숫자가 몇 개 있는데, 그 중 42가 눈에 띕니다.
  • 혹시 모르니 ABI를 확인해 보겠습니다.
    05_abi_info42.png
  • info42 함수가 존재하네요.

contract.info42()

  • info42 함수를 호출합니다.
    06_info42.png
  • 메소드(함수) 이름이 theMethodName 이라니 설마... 했지만 정말 있습니다.
    07_abi_theMethodName.png

contract.theMethodName()

  • 호출합니다. (도대체 언제까지 해야 될까요? ㅠㅠ)
    08_theMethodName.png

contract.method7123949()

  • 아시죠? 또 호출합니다.
    09_method7123949.png
  • 갑자기 password를 알고 있냐고 물어봅니다. 하.... 설마....
    10_abi_password.png
  • 친절하게도 public 함수로 password를 부를 수 있게 되어 있습니다.
  • password를 확인해 보겠습니다.
    11_password.png
  • 그리고 authenticate 함수도 확인해 보겠습니다.
    12_abi_authenticate.png
  • authenticate 함수는 input으로 1개를 받는데, 아마도 password 겠죠?

contract.authenticate()

  • 앞서 확인한 password를 parameter로 해서 authenticate 함수를 호출합니다.
    13_authenticate.png
  • 이거는 쓰기 함수 인가보네요. gas fee를 달라고 합니다.
    14_metamask_submit.png
  • 적당한 가격을 넣고, submit을 누릅니다.
  • 잠시 후 트랜잭션이 보내지고, 채굴까지 완료가 됩니다.
    15_sent_mined.png
  • 더 이상 요구하는게 없으니 완료된 것 같죠?

Submit instance

  • level을 완료했다는 표시로 submit instance버튼을 누릅니다.
    16_submit_instance.png
  • 또 gas fee를 요구하네요. 이건 ethernaut smart contract에 현재 지갑 주소가 level을 complete 했다를 저장하기 위해 발생시키는 트랜잭션입니다.
  • 채굴까지 정상적으로 완료가 되면, 아래와 같이 level completed 화면이 콘솔에 뜹니다.
    17_level_complete.png

Level Completed

  • 임수를 완수 했다는 표시로 몇 가지 변화가 있습니다.
  • 우선 체크 표시와 completed 배지가 생깁니다.
    20_complete.png
  • 그리고 해당 instance의 smart contract 코드로 맨 아래 보여집니다.
    19_solidity_code.png
  • 그리고 제일 중요한 다음 level로 넘어갈 수 있는 버튼이 새롭게 생겼습니다.
    18_go_to_the_next_level.png

명령어 하나 하나씩을 설명해 가면서 문제를 풀어보았는데, 혹시나 중간에 이해가 안되는 부분이 있으시다면 편하게 댓글 남겨주시면 제가 아는 한도 내에서 정성껏 답변 드리겠습니다. 다음 문제도 계속 올리도록 하겠습니다. ^^

0
0
이 글을 페이스북으로 퍼가기 이 글을 트위터로 퍼가기 이 글을 카카오스토리로 퍼가기 이 글을 밴드로 퍼가기

블록체인 기술

번호 제목 글쓴이 날짜 조회수
158 가상화폐 다이스 토큰과 코인의 가치 icon Work4Block 10-29 4,858
157 정보 (코인비평) 지금까지 알려진 정보로 예상해 보는 다음-카카오의 블록체인 클레이튼(Klaytn) icon Work4Block 10-24 5,311
156 가상화폐 (코인비평) 라인(LINE)의 링크(LINK) 에 대해 자꾸 이야기 하는 이유... icon Work4Block 10-19 5,671
155 가상화폐 (코인비평) 라인(LINE)의 링크(LINK) 추가 분석 icon Work4Block 10-18 4,591
154 가상화폐 짝퉁인 EetDice에게 역전당한 EosBet icon Work4Block 10-17 4,609
153 가상화폐 모스랜드 경매시작과 그 효과 icon Work4Block 10-16 3,931
152 가상화폐 (코인비평) 라인(LINE)의 링크(LINK) 백서 긴급 분석 icon Work4Block 10-15 5,828
151 정보 진정한 스마트 컨트랙트의 정의,개념,의미,뜻! icon Work4Block 10-12 4,485
150 정보 KEEP!T History: 영지식 증명 이해하기 icon Work4Block 10-12 4,430
149 가상화폐 새로운 다단계앱 Bancor3D를 알아보자 icon Work4Block 10-04 4,620
148 가상화폐 픽셀마스터의 현황과 오픈 스마트 컨트렉의 한계 icon Work4Block 10-02 4,877
147 가상화폐 혼종 다단계 이오스 픽셀마스터(pixel master)를 알아보자 icon Work4Block 09-30 5,528
146 정보 KEEP!T Column: 01. P2P 네트워크와 합의 알고리즘 icon Work4Block 09-27 4,850
145 정보 토렌트로 설명하는 블록체인 02 하드포크 icon Work4Block 09-20 4,081
144 정보 토렌트로 설명하는 블록체인 01 icon Work4Block 09-20 5,516
143 가상화폐 KEEP!T Column 비트코인 뽀개기(11편) icon Work4Block 09-15 4,813
142 정보 블록체인과 서비스에 대한 단상 icon Work4Block 09-10 4,399
141 가상화폐 할랄토큰 ERC-20 스왑 방법 icon Work4Block 08-31 4,160
140 가상화폐 이오스 스마트 컨트랙트는 믿을 수 있을까? icon Work4Block 08-30 5,607
139 가상화폐 [EOS과부하 시사점] DAPP들은 결국 퍼블릭체인(EOS,이더리움 등)에서 독립할 것이다. icon Work4Block 08-29 5,066