智能合約 CTF 環境準備

這邊只是介紹一下會需要用到的工具,並不會講到區塊練的內容。

錢包

首先是錢包,這邊用METAMASK,一個瀏覽器的插件

然後新增一個錢包

CTF網站

可以試著直接打開這次要用的 CTF 站,ethernaut.zeppelin
打開 console 會發現他一直在提醒你要切到正確的網路。

切換到測試網路之後就可以去 faucet.metamask.io 拿一些 ETH,大概五枚就可以了。

現在可以去 zeppelin 按 play now! 了

這個網站會有一個主要的 contract 叫做 ethernaut ,每關還有不同的 contract 會在按下 Get new instance 後拿到,就叫做 contract ,通常要解開關卡就是 pwm 掉這個 contract 後再用 Submit instance 把他送回去就是解開每個關卡的流程。

那如果沒解開就送回去就會出現

那這個第0題,就普通的跟著題目提示做就可以了。

> contract.abi
> contract.password()
Promise {<pending>}
__proto__: Promise
[[PromiseStatus]]: "resolved"
[[PromiseValue]]: "ethernaut0"
> contract.authenticate("ethernaut0")

等他確認 transaction 後再 contract.getCleared() 就會發現它變成 true 了,接下來用 Submit instance 送回去就可以了。

工具

remix.ethereum,可以線上編譯測試 Solidity 的網站,也可以在右上角選擇 Injected Web3 直接跟瀏覽器互動。

學習 Solidity

要解這些題目最終還是要學會 Solidity,老實說到目前為止,感覺這個語言真的很白爛…。

線上學習的網站:

Reference:

Leave a Reply

Your email address will not be published. Required fields are marked *