0. 背景
上一篇文章主要繼續深入地介紹truffle的高級用法 + 合約源碼分析 。
在此之後,筆者使用Remix
開發工具基於同一合約的基礎上對合約進行部署、調試、調用,供讀者對比參考。
1. Remix
介紹
1.1 Remix
是一個基於js編寫的Web 端智能合約IDE,繼承了合約的編譯、部署、調試等功能
1.2 需要配合Web版本錢包MetaMask使用
1.3 打開 https://remix.ethereum.org/即可看到圖形化界面,此處使用新版本
1.4 DEPLOY & RUN界面介紹
1.4.1 Environment 中 三種環境可選
JavaSricpt VM - Remix
內置的模擬區塊鏈工具,數據不上鍊,無需等待確認,方便快速調試
Inject Web3 - 與MetaMask
交互的接口,可根據MetaMask
選定特點的網絡,本文選擇Ropsten
Web3 Provider - 用戶自己安裝Web3 Provider
2. 部署合約到Ropsten
可在區塊瀏覽器中查看合約部署記錄
https://ropsten.etherscan.io/tx/0x7510ec36a6fd40db6b0af7a6b667e07fb4db7eb43dca9e395486f838f061cdf6
3. 調試合約(與合約交互)
3.1 調用合約抵押ETH
貸出ERC20
代幣TK
如下區塊鏈瀏覽器記錄所示
https://ropsten.etherscan.io/tx/0xb7b9a234a47045104cec705090f9608822986e34eb4aa6f18fcac507bc282cc5
先抵押101wei
的ETH
, 1比1 貸出 101 TK
3.2 查詢合約餘額和用戶的Token餘額是否達到預期
3.2.1 區塊瀏覽器讀取合約餘額爲 101 wei
3.2.2 讀取用戶的Token餘額如下
注:藍色的函數按鈕表示call
,不需要調用錢包簽名,相當於get動作,馬上就有返回值;
紅色的函數按鈕表示transcation
,需要調用錢包簽名的,交易需要被確認之後才能回顯
3.3 調用合約歸還ERC20
代幣TK
,贖回ETH
如下區塊鏈瀏覽器記錄所示
https://ropsten.etherscan.io/tx/0x2a4343bc8da36862f5da5ed646d17b4532e9842f8d59598b1d5b78f5681878b9
歸還99TK
,1比1 贖回99wei
的ETH
3.4 查詢贖回後合約餘額和用戶的Token餘額是否達到預期
3.4.1 區塊瀏覽器讀取合約餘額爲 101-99= 2
wei
3.4.2 讀取用戶的Token餘額如下