詳解智能合約開發利器Remix-IDE(2020.6.4 Last Version)
以太坊智能合約的開發,作者目前使用兩種方法:
方法一:使用Truffle 架構 開發
方法二:Remix-IDE內建開發環境
Truffle 架構的基本使用在之前的部落格中已經做了介紹,本節主要介紹IDE內建開發環境,并使用兩個隻能合約執行個體做原理示範,并且将以一個測試用例來介紹如何進行隻能合約單元測試。
Remix-IDE
在Linux環境下,使用如下方式安裝:
step1:進入官方網站 https://github.com/ethereum/remix-ide
step2:按照如下方法執行

特别注意紅色的辨別,紅色的相關指令一定是當你需要連接配接Git上的源碼,并且想做相關開發的安裝指令。
如果你隻是個人玩家,打算自己在本地安裝IDE 并且 不打算參與IDE開發的朋友。
隻要執行藍色辨別指令即可!
隻要執行藍色辨別指令即可!
隻要執行藍色辨別指令即可!
安裝完成後本地執行npm start 指令開啟本地以太坊伺服器。
打開你的浏覽器,打開127.0.0.1:8080 即可進入內建開發環境,當今天最新版本如下所示:
上圖即為安裝完成後初始界面。
Remix-IDE 界面介紹
整個開發界面如下圖所示:
如上圖所示,我們将這個界面分為8個部分,下來将按照标記的順序,逐一的解釋與描述。
①檔案空間描述
這個部分即為我們編寫的智能合約檔案,如下圖所示,我們這裡有三個智能合約檔案
Counter.sol
CallCounter.sol
【引用*】前兩個合約内容,作者第一次在《以太坊技術詳解與實戰》中看到,非常簡單的例子。
CallCounter_test.sol
②智能合約編譯器資訊
智能合約在編寫完成後,需要編譯器編譯成二進制檔案,智能合約的部署與執行本質上就是儲存了一個二進制檔案,而調用智能合約即為調用這個二進制檔案提供的接口。
如上圖所示,可以自主選擇solidity 編譯版本,點選按鈕即可完成編譯。
③DEPLOY & RUN TRANSACTIONS 部署與執行交易功能
第三部分就是部署已經編譯完成的智能合約,然後執行智能合約中的交易,點選 Deploy即完成了智能合約的部署,回報如下圖所示:
圖中由上到小分别為執行環境,執行賬戶(部署時随機生成的測試賬戶)預設生成10個賬戶,以上賬戶均為外部賬戶,每個賬戶預設保有100以太币。接着是Gas Limit 智能合約GAS的消耗上限,VALUE 轉賬價值,注意這裡,部署的合約中一定要有接受賬戶,不然直接部署會出錯。
接着,就是目前合約名稱。
注意,右下角的DEBUG按鈕,可以讓你進入單步調試功能;與GDB之類的調試器類似,不過可視化功能倒是做的不錯,是非常實用的調試工具,可以觀察執行棧的内容,以及相關的變量變化。
特别注意的是,在這裡可以看到合約中狀态變量,所有交易函數,并且我們能夠在這裡直接看到合約中的變量數值與直接發起“消息調用交易”,如下圖所示:
可以看到,有合約位址0xB88…013 這個位址可以直接複制使用,狀态變量count 的值為10;
④智能合約SOLIDITY STATIC ANALYSIS
這個子產品主要對智能合約進行靜态的安全性分析,如下圖所示
⑤DEBUGGER 調試
調試功能在上文也提到過,不僅可以單步調試,我們的智能合約也能顯示每一筆交易的具體細節如圖所示:
交易的内容資料與以太坊上交易的格式相同,讀者可以自行查閱對比了解。
其中要說明的是兩個内容 Transaction cost 和 execution cost 這兩個内容:
Transaction cost : 執行整個交易所花費的費用,包含虛拟機執行智能合約代碼的費用
Execution cost: 特指虛拟機執行智能合約代碼所花費的費用
⑥SOLIDITY UNIT TESTING
智能合約單元測試子產品,點選Generate 按鈕可以生成一個測試模闆檔案,我們給該測試檔案中寫入一個部署合約的語句;測試結果如下:
這個單元測試不但能夠測試正确性,還能統計測試時間。
⑦ 插件使用情況,可以選擇自己需要的插件
⑧ 編輯闆塊
⑨ 終端指令行(第一張圖示記有誤,小事)