對於一個新手來講,ta的Aha時刻來自於ta終於能夠運行本身的第一行代碼,我還記得我當年寫的能夠運行的「爛代碼」的興奮時刻。而當我利用本身的編程技能找到工做時,其中的一個Aha時刻來自於我學會了如何調試程序。調試程序佔用工做的時間有時候會達到50%,面對着一堆代碼邏輯就是不知道問題在哪裏。而當我掌握瞭如何利用斷點查看當前的變量和狀態後,個人工做效率提高了一倍,bug變少了,幸福感提高了。vue
調試Solidity
有一個很好的工具:Remix
,經過這個連接能夠進入到Remix的網站:http://remix.ethereum.org 。git
代碼編輯
以後咱們能夠把Solidity
代碼放到編輯器中,上圖中能夠看到最左側的行數旁邊有警告/錯誤提示,把鼠標放到上面會有具體的信息提示,根據提示修改代碼就能夠消除錯誤信息了。修改後的示例代碼能夠在這裏獲取:https://gist.github.com/luckyyang/8edc58ad647f35424823448ea4404f8d 。
github
合約編譯
以後咱們能夠選擇對應的編譯器版本,示例代碼中的版本是0.4.25
,而後就能夠編譯了,看到綠色的提示代表編譯成功。編譯的主要工做是生成ABI
和bytecode
,本文不作闡述。編程
合約部署
瀏覽器
編譯成功後,就能夠切換到Run
標籤進行合約的部署了,這裏咱們能夠選擇Environment
爲JavaScript VM
,直接在瀏覽器中運行一個虛擬的區塊鏈網絡,這樣就不用咱們使用Mist
和ganache-cli
這類的工具再去運行區塊鏈網絡了。微信
如上圖所示,選擇JavaScript VM
後,會自動幫咱們生成5個Account
,每一個Account
中有100個Ether
,足夠咱們開發使用了。
網絡
如上圖所示,點擊Deploy
按鈕後就能夠部署合約了,部署成功後會自動顯示合約的信息。點擊合約會顯示全部的變量和方法。
app
合約交互
如上圖所示,紅色表示此類方法會修改合約的狀態,也代表了須要消耗gas
;青色表示此類方法的做用是獲取信息,不會修改合約的狀態。點擊具體的方法名字就能夠和合約進行交互了。
編輯器
合約調試
如上圖所示,同時與合約交互的transaction
也會顯示到代碼區下面的區域。點擊Debug
按鈕會跳轉到Debugger
界面(下圖),不但能夠進行單步調試,還能夠看到合約中更具體的信息,如變量和合約狀態等。
工具
總結
利用Remix
能夠很方便的對Solidity
進行編輯,部署和調試,各位Solidity
開發者趕快用起來吧。
本文分享自微信公衆號 - Rebase社區(rebase_network)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。