Ethernaut: 0. 안녕 Ethernaut
어서 오십시오! 길지만 엄청나게 교육적인 길이 될 것입니다. 이 수준에서는 콘솔 사용 방법을 준비합니다.
help()
를 입력하여 시작하십시오! 거기에 표시되는 명령에 익숙해지십시오. 테스트용 에테르도 필요하니 거기에 연결된 수도꼭지를 방문하여 에테르를 얻으십시오!contract.info()
를 호출하여 시작합니다. Chrome v62(또는 Brave 브라우저)에서는 콘솔에서 await
를 사용할 수 있습니다. 그러면 작업이 훨씬 쉬워집니다. 전화 await contract.info()
. contract.
에 도달하면 콘솔에 계약 개체의 속성이 표시되며 여기에는 많은 기능이 있습니다! info1()
에 필요한 것이 있음을 알려줍니다. 따라서 자연스럽게 await contract.info1()
를 호출합니다. info2()
매개변수로 "hello"
를 호출하라는 지시를 받았습니다! 우리는 await contract.info2("hello")
로 그렇게 합니다. infoNum()
속성을 확인하라는 지시를 받았습니다. await contract.infoNum()
로 그렇게 하면 콘솔에 이상한 내용이 다시 표시됩니다. 이게 대체 뭐야?? 초조해하지 마십시오. 단순한 것입니다BigNumber object. toNumber()
또는 toString()
를 통해 숫자나 문자열로 변환할 수 있습니다. 그렇게 하면 숫자 42를 나타내는 것을 볼 수 있습니다.{
negative: 0,
words: [
42,
// empty
],
length: 1,
red: null
}
await contract.info42()
를 호출해 보겠습니다. 대신 theMethodName
를 호출했어야 한다는 것을 알 수 있습니다. await contract.theMethodName
. 아, 대신 method7123949
에 전화해야 해요! await contract.method7123949()
에 전화하면 "암호를 알고 있으면 authenticate()
에 제출하십시오"라는 메시지가 표시됩니다. 암호를 알고 있습니까? 확실히 password()
객체의 속성으로 contract
함수가 있는 것 같으니 호출해 봅시다! await contract.password()
다음에 암호를 ethernaut0
로 얻습니다. 이것을 await contract.authenticate("ethernaut0")
에 제출하면 거래를 확인하라는 메시지가 표시됩니다! 그것이 채굴되면 더 이상 할 일이 없는 것 같습니다. 자연스럽게 해야 할 다음 작업으로 인스턴스(주황색 버튼)를 제출하는 것이 좋습니다. 실제로, 그것은 레벨의 끝입니다! 축하합니다. 이제 실제 거래를 할 준비가 되었습니다.
Reference
이 문제에 관하여(Ethernaut: 0. 안녕 Ethernaut), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/erhant/ethernaut-0-hello-ethernaut-33l3텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)