通過METAMASK除錯和釋出智慧合約指南

勤勞的12發表於2018-12-28

轉載一篇釋出智慧合約的指南原地址http://www.sohu.com/a/209216399_783969

本文主要是針對有興趣進行以太坊智慧合約開發的技術愛好者,進行開發除錯工具使用方面的指導。

 

1.安裝METAMASK

MetaMask 是一款瀏覽器外掛錢包,不需下載安裝客戶端,只需新增至瀏覽器擴充套件程式即可使用,非常方便,並且可以很方便的除錯和測試以太坊的智慧合約。

1.1首先安裝Google Chrome瀏覽器

Google Chrome是一款由Google公司開發的網頁瀏覽器,該瀏覽器基於其他開源軟體撰寫,包括WebKit,目標是提升穩定性、速度和安全性,並創造出簡單且有效率的使用者介面。

MetaMask是Chrome瀏覽器上的一種外掛,所以必須先安裝Chrome瀏覽器。直接在百度瀏覽器中搜尋,可以直接進行下載。

1.2 安裝Chrome的METAMASK外掛

這裡先需要提醒下,MetaMask目前必須在Chrome瀏覽器的線上應用商店進行線上下載和安裝,因為網路原因你需要使用VPN才能下載安裝。

輸入MetaMask官網地址,https://metamask.io/,在官網主頁參考下圖指引通過Chrome應用商店來安裝該外掛。

安裝完畢後,在瀏覽器上會顯示該外掛的小圖示,點選下圖中“小狐狸”圖示,會出現MetaMask的主操作介面。

首先是提示介面,可以忽略,點選“Accept”,進入下一步,下一步也是宣告,需要拉倒低才能點選“Accept”。

然後會看到此介面,請輸入賬號密碼一定不能忘記(也可以匯入先去已有的Metamask賬號):

在建立賬號的時候為了防止賬號密碼丟失,這裡提供的找回的助記詞功能,拷貝恢復賬號的安全碼,一共是12個單詞,切記,這一步很重要,一定要把這安全碼記錄下來方便恢復賬號。

然後系統會生成一個以太坊的賬號,你可以進行以他操作:

  • 可以很方便的檢視錢包地址

  • 將地址轉換為二維碼

  • 買入以太幣

  • 傳送以太幣

1.3 配置MetaMask

MetaMask預設連線的是以太坊的Main Ethereum Network,為了方便我們測試智慧合約,需要切換到Ropsten Test Network。

1.4 在測試網路中獲取以太幣

在測試網路中獲取以太幣不需要付費,直接點選“BUY”,進入獲取測試網路以太幣介面,點選“ROPSTEN TEST FAUCET”,進入挖礦介面,每次最多挖去13個測試網路以太幣。

2.智慧合約釋出

2.1獲取HPB智慧合約原始碼

本章節的智慧合約釋出除錯主要以釋出在以太坊的HPB智慧合約作為測試和除錯的物件。

HPB的智慧合約原始碼已提交到etherscan.io,並認證通過,大家可以從以下地址獲取:

https://etherscan.io/address/0x38c6A68304cdEfb9BEc48BbFaABA5C5B47818bb2#code

2.2線上智慧合約編譯器

通過MetaMask來發布校驗程式碼,需要結合一款Solidity線上編譯器,可以很方便的對智慧合約的程式碼進行除錯。

請在網頁中輸入線上Solidity的編輯器地址,直接在網頁中開啟:https://ethereum.github.io/browser-solidity/

2.3 編譯智慧合約

把從etherscan.io下載的HPB智慧合約原始碼黏貼到編輯器中。HPB的原始碼技術愛好者可以自己分析理解下,這裡為了後續能在MetaMask中進行除錯測試和檢查釋出結果,這裡需要對程式碼進行校驗和編譯。

請先在Chrome中登入MetaMask賬號,在下圖介面上選擇“run”按鈕,系統會自動把MetaMask中你的ETH賬號同步到下圖中的“Account”選項中,其他屬性不用修改。

注意在下圖中,選擇智慧合約的名稱,名稱和原始碼中的名稱保持一致:

在Create按鈕旁邊的輸入框輸入構造引數,此引數是接受ETH轉賬地址的賬號

例如本文中ETH測試網路中的賬號:“0x2F89c15a7e52b00084e01Cc957C656fc53ceAc11”,注意一定要帶有雙引號。

同時請選擇編譯版本,和智慧合約程式碼中指定的版本保持一致,同時後釋出成功後也需要校驗也需要選擇和釋出時候一致的編譯版本。

2.4 釋出智慧合約

提示:釋出智慧合約的時候必須指定一個以太坊的賬號進行釋出。

校驗完畢後點“Create”,線上編譯器會自動的進行程式碼校驗,如果校驗通過會彈出MetaMask對話方塊。本文是通過建立的賬戶Account1來提交建立的合約。

2.5檢視智慧合約產生的代幣

智慧合約釋出成功後,會自動生成代幣,HPB的代幣總量是1億枚。

2.6 檢視建立智慧合約交易

點選metamask檢視最新的一筆釋出智慧合約的交易,點選跳轉到網頁顯示詳情。

通過下圖可以找到智慧合約的地址,以及ABI字串,請複製ABI字串後續校驗智慧合約的時候需要使用。

提示:注意ABI字串是通用的擷取規範是在下圖中的“0029”數字之後。

2.7 校驗已釋出的智慧合約

點選下圖中的智慧合約地址連結,進入智慧合約詳情頁面。

跳轉到此頁面後,點選下圖中的“Verify And Publish”,進入驗證頁面。

進入驗證頁面後,請注意一下幾點:

  • Contract Name 務必保持和原始碼中的Contract Name保持一致。

  • Compiler選擇的版本號務必和在MetaMask釋出的版本保持一致。、

  • Optimization 請選擇Disabled

還是在本頁面,找到下圖輸入項,然後輸入本次釋出智慧合約生成的ABI字串,點選“Verify And Publish”驗證智慧合約。

釋出過程如果沒出現報錯提示,會顯示下列資訊,表示驗證通過。

2.8檢視校驗通過的智慧合約

校驗通過後,可以在以太坊測試網路上檢視校驗通過智慧合約詳情。

測試網查詢地址:https://ropsten.etherscan.io

可以很清晰的看到智慧合約的相關屬性,輸入輸出項。

相關文章