Ethernaut – Level 0: Hello Ethernaut

(https://ethernaut.openzeppelin.com/level/0x4E73b858fD5D7A5fc1c3455061dE52a53F35d966)

身為第0關,這一關主要帶領我們進行一些setup 及了解遊戲的操作介面(browser – developer tool – console)。

基本上照著關卡的說明一步步進行即可:

1.設定MetaMask 電子錢包:

因為基本上是模擬真實的以太坊智能合約執行,因此包括gas 費用等等都是會產生的,因此也需要有電子錢包,若還沒有的話,需要去安裝MetaMask browser extension,然後選擇’Rinkeby test network’,Rinkeby為以太坊的其中一個測試網路。

2.開啟瀏覽器的console:

Tools > Developer Tools. (若是Chrome的話,選擇右上角的三個點,選擇更多工具,然後選擇開發人員工具,開啟後會看到類似如下圖:

3. 於Console輸入與程式互動:

輸入 help() , 然後按Enter鍵,console會列出一些function,輸入ethurnaut,輸入await ethernaut.owner(),看看console會產生甚麼~~

4. 取得一些測試網路的以太幣:

遊戲中有建議可從thisthis or this faucet. 這些地方取得測試網路的以太幣

5.取得此關的 level instance:

拉到遊戲頁的最下方,點Get new instance

6. 跟合約(instance) 互動一下:

於console 輸入 await contract.info(),按Enter後系統會提示一行訊息,跟著提示往下輸入即可;完整輸入如下:

await contract.info();
await contract.info1();
...
await contract.password();
await contract.authenticate("[password here]");
await contract.getCleared();

7.過關:

submit instance!

這關主要就是安裝環境跟熟悉介面

*名詞解釋

  • abi: application binary interface,Solidity 跟Javascript的溝通介面,為JSON format。
  • gas費用: 每在以太坊上執行的每一筆transaction都會收取一定量的以太幣作為收費。