《區塊鏈DAPP開發入門、代碼實現、場景應用》筆記4——Ethereum Wallet中部署合約

  帳號建立完成以後,帳號餘額是0,可是部署合約是須要消耗GAS的,所以須要獲取必定的以太幣纔可以繼續本次實現。在測試網中獲取以太幣能夠經過挖礦的方式,在開發菜單中能夠選擇打開挖礦模式,可是這須要將Syn Mode模式修改成Full,這意味着須要將測試網的所有區塊數據同步下來才能夠進行挖礦,這些數據很是大且同步緩慢,所以建議採用第2種方案:到以太坊基金會申請以太幣,讀者能夠自行搜索「獲取測試網以太坊幣」,會有相關的網址獲取以太幣,通常須要輸入讀者本身的測試環境以太坊帳號。瀏覽器

(1)本節使用的代碼案例須要2個以上的以太坊帳號,請讀者申請建立2個帳號並分別申請測試用的ETH代幣。成功建立帳號並獲取以太幣以後,就能夠開始部署智能合約的操做了,如圖2.13所示,選擇 COTRACT->DEPLOY NEW CONTRACT。網絡

 

圖2.13 智能合約tab頁面函數

(2)將上一章用的Coin合約代碼複製粘貼到圖2.14中3的區域,其中1表示帳號用於部署該合約的帳號,對應於Coin構造函數的msg.sender這個內容。區域2表示給當前的智能合約轉帳多少,單位是以太幣的個數。4表示該合約代碼存在編譯錯誤,須要修改。區塊鏈

  

圖2.14智能合約代碼輸入測試

(3)稍做修改以後,代碼編譯經過。在代碼的右側,是一個下拉選項,選項中有智能合約的名稱列表,此示例中僅有Coin一個智能合約,選中此合約,在合約代碼的下方有GAS費用調節的滑塊和DEPLOY按鈕。GAS費用前面講到過,付出越高的GAS費用,被礦工選中打包成區塊的機率也越高,如圖2.15所示,此示例中咱們選中默認GAS數量,而後點擊DEPLOY按鈕。加密

 

圖2.15選擇智能合約名稱並修改GAS費用設計

(4)點擊部署合約以後,以太坊錢包會彈出交易轉帳密碼輸入的對話框,此密碼即爲祕鑰的加密密碼,經過輸入密碼,以太坊錢包動態的解密私鑰,經過私鑰對交易進行簽名,而後廣播到以太坊網絡中,該交易會加入到交易池中並顯示爲pending狀態。礦工會選擇該交易並將智能合約運行來修改以太坊狀態機的狀態。修改爲功以後,將產生的新狀態以及交易收據、永久存儲數據、餘額等信息寫入到以太坊,並將全部數據打包進新的區塊。3d

(5)正確輸入密碼並SEND TRASACTION以後,以太坊錢包會進入等待以太坊網絡礦機打包的過程當中,圖2.16就是正在等待交易被打包,該交易是一個Create Contract的操做。交易被成功打包到新的區塊以後,會生成關於該交易的不少索引信息,如圖2.17所示。調試

 

圖2.16輸入密碼,支付費用以便部署智能合約blog

 

圖2.17交易等待打包的狀態提示

(6)圖2.18中,1是交易的hash值,點擊該連接能夠打開區塊鏈瀏覽器,查看關於該交易的更多詳細信息;2是區塊打包的時間;3表示該交易設計的轉帳金額,本示例只是建立合約,並無轉移以太幣;4是發起改交易的以太坊帳戶,點擊該選項能夠打開區塊鏈瀏覽器,查看關於該帳戶的全部交易記錄,任何有人均可以查到這些信息,所以區塊鏈是透明公開的;5表示該交易的目的地址,建立智能合約時改地址是空;六、七、8表示執行該交易消耗的以太坊代幣數量、GAS數量和GAS的價格,這些是該交易的交易手續費,是給以太坊礦工的激勵,固然目前使用的是以太坊測試網,該網絡的以太幣並無兌換價值;9表示該交易所在的區塊高度,點擊連接能夠進入區塊鏈瀏覽器查看該區塊的其它信息。

  

圖2.18建立智能合約產生的交易信息

(7)如圖2.19所示,點擊交易hash值以後瀏覽器打開的區塊鏈瀏覽器信息,讀者能夠自行點擊其它信息。該瀏覽器是第三方開發,與區塊鏈錢包相似,任何人和機構均可以開發錢包和瀏覽器,以太坊的數據是無主的,去中心化的,任何人均可以開發軟件來訪問以太坊區塊鏈上的交易數據,這就是區塊鏈公開透明的魅力。同時由於加密學的應用,即便全部數據對全部人公開,代碼和規則也公開,也沒法經過篡改數據的方式來破壞區塊鏈網絡,或者經過做惡的方式來獲取區塊鏈上的數字貨幣,這就爲區塊鏈的創新應用提供了技術支持。

  

圖2.19 以太坊區塊鏈瀏覽器

(8)如圖2.20所示,當交易打包完成以後,回到CONTRACTS頁下面,能夠看到剛剛建立的智能合約顯示在了界面中。點擊該智能合約,進入下一環節,調試智能合約。

  

圖2.20 合約建立成功以後的界面

 

2020區塊鏈各類應用都上馬了,跟我一塊兒學《區塊鏈DAPP開發入門、代碼實現、場景應用》吧。

相關文章
相關標籤/搜索