阿Han
阿Han

文字是留下記錄的一種媒介,將知識吸收轉化後輸出成文字進行保存。 ☕️ https://liker.land/willhanchen/civic

【開發智能合約 — Solidity系列】Remix編輯器常用的Plugin

一起來學習動手開發「智能合約」吧!

圖片來源

延續上一篇「【開發智能合約 — Solidity系列】開發環境準備」,我們建立好開發環境之後,為了提升開發效率與減少錯誤,因此會建議在基礎的編輯器之上加掛一些非常好用的外掛,俗話說工欲善其事,必先利其器,我們要動刀之前務必先磨好刀,接下來會建議一些必備的外掛套件以及示範如何使用,讓我們的開發功力更上一層樓。

Remix這款雲端編輯器非常方便,任何地方只要有瀏覽器就能進行開發,已經不同於以往的開發模式,相信這種開發方式在未來也會逐漸盛行,而且自由彈性度非常的高,在習慣的個人電腦上開發也會暫存我們的環境設定,今天換了一個新的電腦的瀏覽器之後,也會是全新的環境,未來或許會發展出綁定帳號的功能,就類似於我們使用的Google帳號,想要個人化時就登入綁定的帳號,不需要時就用無帳號的使用方式。

如何安裝外掛套件

打開編輯器左下角的插頭圖示,右邊的列表就會出現各種類型的外掛工具,再根據個人需求去進行安裝(Activate)即可。

圖片來源

而清單的上方也有搜尋輸入框,如果已經很確定要安裝哪些知名套件時就可以透過搜尋的方式進行安裝。

圖片來源

推薦的外掛套件

以下是個人在開發之前分析的一些剛需套件,因此會進行安裝與測試,確定是必備的套件在此跟大家分享。

程式語法自動提示

🔍 SOLHINT LINTER

對於初學Solidity的朋友來說,最困難的莫過於語法的不熟悉,因此有些語法我們可能需要邊看文件才能組合出需要的功能,如果能夠智能提示那該有多好,正好,Remix也支援此外掛功能,安裝後我們進行編輯程式碼的時候,只要輸入一個字母,就會提示我們可以使用的語法有哪些,非常方便,如下圖所示:

圖片來源

文件產生器

🔍 ETHDOC

🔍 ETHDOC VIEWER

擬定好一份合約之後,非常重要的一件事情就是撰寫這份合約的條款明細(使用方式),讓合約的利害關係人都能夠明確的知曉這份合約內容,確認無誤後才進行簽約。

而以上兩個外掛套件就是輔助我們在撰寫合約說明的時候可以預覽我們的說明格式與內容是否有誤,若確定無誤之後再發行合約,畢竟合約一旦發行之後,按照區塊鏈的特性就不容易撤銷,因此事前檢查機制非常重要。

首先將我們的程式碼進行編譯之後,只要編譯通過,就可以看到文檔預覽囉! 不過使用起來有點微幅的不方便,就是每次都要先編譯完成後才能看到預覽文檔,原先預期是編譯之前的開發就能夠預覽,或許要使用更強大的編譯器VSCode才有此功能吧,也或許是還沒熟悉此工具,待研究更透徹之後再來更新此部分。

圖片來源

智能合約測試

🔍 SOLIDITY UNIT TESTING

一份優質的合約勢必要經過嚴格的測試才能得到信任,因此我們在發布之前也應該具有自我檢測的機制,自己撰寫的合約自己負責,讓合約品質更加穩定。

這邊可以輸入我們的測試資料夾,通常資料夾底下的xxx_test.sol 符合這種檔案名稱的測試檔都會被偵測並進行測試流程,測試完畢後也會在下方提示檢測結果,讓我們的品質更加穩定。

圖片來源

結語

今天分享的三個重要外掛元件在我們接下來的實戰系列會非常重要,過程中常常會需要這些外掛來輔助,讓一份合約更加的完整,我們可曾想過,過去擬定一份合約之後,還要有審查員進行審查,發布的過程還要提交第三方公證機構,過程來來往往非常耗時耗費成本,額外付出的費用就是為了確保一個信任度。

而智能合約的強大之處不僅只有在發布之後的自動執行,就連擬定合約的過程中也簡化了第三方依賴的複雜度,讓開發合約的過程就能逐步嚴格檢查,縮短時程也確保品質。

或許大家會質疑「智能合約」的可信任度,畢竟還是由開發者進行開發,但試想傳統合約的擬定過程,假手他人就真的值得信任嗎? 其中一個環節出了問題不是更可怕嗎? 世界上並沒有一種最完美的解決方案,都是取捨與改善的過程,而「智能合約」正是補足「傳統合約」缺陷的一種解決方案,或許未來亦會發展出補足「智能合約」不足之處的新技術,我們應該抱持著開放、持續學習的心態去接納這些新事物,才能跟上趨勢,不會變成被淘汰的一員。

📚 更多關於Solidity的文章請看這裡…

— — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — — -

喜歡撰寫文章的你,不妨來了解一下:

Web3.0時代下為創作者、閱讀者打造的專屬共贏平台 — 為什麼要加入?

歡迎加入一起練習寫作,賺取知識,累積財富!

CC BY-NC-ND 2.0 版权声明

喜欢我的文章吗?
别忘了给点支持与赞赏,让我知道创作的路上有你陪伴。

加载中…
加载中…

发布评论