以太坊智能合約開發(fā)指南5(Remix使用下)

編譯代幣合約

接著前面的內容,使用Remix來編譯我們的代幣合約。

  • 啟動remix服務
  • 在瀏覽器中打開remix IDE
  • 然后創(chuàng)建我們的兩個智能合約文件
  • 編譯文件(Start Compile)
    我這里把自動編譯選項關閉了,需要手動點編譯按鈕,在ERC20.sol為當前頁簽下進行,編譯器會自動找到ERC20Interface.sol文件。因為有繼承關系。
    現(xiàn)在看起來是這樣的。
編譯合約

右邊有一些黃色的警告,是編譯器給出的一些語法和格式上的建議,這里我們暫時先不管。

部署代幣合約

在Run -> Create 按鈕是部署合約,這里我們使用默認的JavaScript VM環(huán)境。系統(tǒng)給我們默認生成了5個賬戶,每個賬戶有100(ether)以太幣。這里要分清楚兩個概念,我們發(fā)行的是代幣(token),這個代幣只存在于我們的智能合約中,與以太坊的以太幣是不一樣的。
部署完合約后,我們發(fā)現(xiàn)當前賬戶的以太幣余額變少了,這是因為部署合約是要花費以太幣的。

部署合約

測試代幣合約

我們現(xiàn)在開始測試已部署的代幣合約,淺藍色的按鈕代表是不需要花費以太幣的訪問(在函數(shù)上聲明為view或者pure的),后方有輸入框的是函數(shù)需要給出參數(shù)的。
調用函數(shù)后,會立即給出調用結果,返回結果中包含返回參數(shù)名,參數(shù)類型,返回值。
賬戶(Account)欄顯示的是當前賬戶,后面有一個復制按鈕可以把賬戶復制到剪切板,測試過程中注意當前賬戶,別弄錯了。
下面的測試過程,為了閱讀體驗,我省略了地址中間部分,實際參數(shù)不能省略。
"0xca3...733c"賬戶是合約的發(fā)布賬戶,初始擁有10000代幣。其它賬戶初始余額都為0。
測試case,需要按順序執(zhí)行:

  • decimals,返回3,小數(shù)位為3
  • totalSupply,返回10000,總供給為10000
  • symbol ,返回MYT,代幣標識符
  • name ,返回MyToken,代幣名稱
  • allowance "0xca3...733c","0x147...160c",查詢帳戶0xca3...733c對賬戶0x147...160c的配額。返回0,正確的,我們還沒做任何配額。
  • balanceOf "0xca3...733c",返回為10000,正確的。因為我們在構造器函數(shù)中,將總供給都分給了合約的發(fā)布賬號。
  • transfer "0x147...160c",1000, 從當前賬戶發(fā)送1000代幣到0x147...160c。
  • balanceOf "0xca3...733c",我們再次查詢合約發(fā)布賬戶的余額,返回9000。
  • balanceOf "0x147...160c" ,返回1000,剛剛給這個賬戶轉入了1000代幣。
  • approve "0x147...160c",2000,當前賬戶(合約發(fā)布賬戶),給0x147...160c批準2000代幣的配額。
  • allowance "0xca3...733c","0x147...160c",我們再次查詢配額,現(xiàn)在返回值為2000,說明新的配額已經生效。
  • transferFrom "0xca3...733c","0x4b0...d2db",500 (注意當前賬戶設置是"0x147...160c"),"0x147...160c"賬戶把0xca3...733c的500代幣發(fā)送到0x4b0...d2db ,從配額中扣除。
  • allowance "0xca3...733c","0x147...160c",剩余配額,現(xiàn)在是1500。
  • balanceOf "0xca3...733c",賬戶余額為8500。
  • balanceOf "0x4b0...d2db",賬戶余額為500。
  • balanceOf "0x147...160c",賬戶余額未變,還是1000。

測試完后是這樣的:


測試完成后
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容