1. 程式人生 > >以太坊 鏈私有鏈環境搭建(windows)

以太坊 鏈私有鏈環境搭建(windows)

摸索以太坊區塊鏈技術幾個月了。最近打算逐步的把自己學到的東西和大家分享一下。

在閱讀本文之前,希望大家能對區塊鏈的概念能有所瞭解。這樣操作過程中的環節理解更深入。下面開始進入準備。

因為本次是windows環境下的私有鏈環境搭建,所以需要做以下準備

1.win10系統,64位

首先,將geth客戶端的壓縮包解壓,得到geth.exe放置在任意位置(注意,檔案路徑中不能出現中文。本文以D盤的blockchain資料夾為例)
這裡寫圖片描述

然後在該資料夾下建立創世塊的初始化檔案genesis.json
內容如下
{
“difficulty”: “0x40000”,
“extraData”: “Genesis Block”,
“gasLimit”: “0xffffffff”
}

註釋 “difficulty”: “0x40000”,//難度,該值越大,出塊越慢。 “extraData”: “Genesis Block”,//附加資訊,隨意填寫 “gasLimit”: “0xffffffff”//每個塊所能容載的gas上線,可以暫時理解為

win鍵 + r 進入cmd命令列
鍵入 d: 是命令列進入d盤
鍵入 cd blockchain 進入d盤的blockchain目錄
鍵入 geth –help 檢視是否能夠輸入幫助資訊
鍵入 geth –datadir “%cd%\chain” init genesis.json 將創世塊資訊初始化
鍵入 geth –datadir “%cd%\chain” console 開啟geth的控制檯
在控制檯鍵入 personal.newAccount(‘123.abc’) 建立使用者 123.abc 為使用者的密碼,自定義即可(該使用者用來啟動私有鏈時的礦工)
鍵入 exit 退出geth控制檯
鍵入 geth –targetgaslimit 4294967295 –rpc –rpcaddr “192.168.1.104” –rpcport “8101” –port “30301” –rpcapi “eth,web3,personal” –networkid 2016 –identity 2016 -nodiscover -maxpeers 5 –datadir “%cd%\chain” -unlock 0 -rpccorsdomain “*” –mine console 啟動私有鏈節點
註釋

targetgaslimit –每個塊的gas上限,這裡可以暫時理解為容量 rpc –啟動rpc通訊,可以進行智慧合約的部署和除錯 rpcaddr –rpc介面的地址 rpcport –rpc介面的埠號 port –網路監聽埠,用於節點之間通訊 rpcapi –設定rpc的範圍,暫時開啟eth,web3,personal足夠 networkid –設定當前區塊鏈的網路ID,是一個數字,可以隨便寫 identity –區塊鏈的標示,隨便填寫,用於標示目前網路的名字 nodiscover 禁止被網路中其它節點發現,需要手動新增該節點到網路 maxpeers 最大節點數量 datadir –設定當前區塊鏈網路資料存放的位置 unlock –解鎖某使用者(此處用使用者座標來控制,解鎖後的使用者呼叫介面發起交易時,不要需要提供密碼) rpccorsdomain 限制rpc訪問源的ip,

代表不限制 mine 允許挖礦 console –啟動命令列模式,可以在Geth中執行命令*

鍵入回車
命令列中出現Passphrase:
鍵入 剛才建立使用者是定義的密碼
然後等待出現類似如下資訊時:
I1208 17:49:49.023354 ethash.Go:291] Generating DAG: 0%
I1208 17:49:55.636941 ethash.go:291] Generating DAG: 1%
I1208 17:50:01.952089 ethash.go:291] Generating DAG: 2%
I1208 17:50:08.887566 ethash.go:291] Generating DAG: 3%
I1208 17:50:15.176846 ethash.go:291] Generating DAG: 4%
I1208 17:50:21.314108 ethash.go:291] Generating DAG: 5%
I1208 17:50:27.396949 ethash.go:291] Generating DAG: 6%
則證明開始建立創世塊,等待進度至100%後,便會開始挖礦了。

這時,解壓以太坊錢包到任意目錄(本文以d盤ethwallet為例)
開啟ethwallet資料夾,執行Ethereum-Wallet.exe
出現如下畫面
這裡寫圖片描述
關閉該視窗

出現如下視窗
這裡寫圖片描述
如果右上角出現“PRIVATE-NET”則證明錢包客戶端已經連線到了我們的私有節點。
點選“LAUNCH APPLICATION”
進入錢包主頁面
如下
這裡寫圖片描述

由於挖礦比較消耗cpu,所以此時開啟控制檯
鍵入 miner.stop() 停止挖礦。不要在意輸出的刷屏,只管輸入完成後回車即可,如果輸入正確,回車後會輸出“true”。
鍵入 miner.start(1) 使用一個cpu挖礦,減少對電腦效能的消耗。

下面我們進入下一個環節,交易
因為我們現在只有一個使用者,沒辦法正常交易,所以現在主頁面點選“ADD ACCOUNT” 建立另外一個使用者,按照步驟輸入密碼,確認密碼後,建立使用者工作就完成了。
點選“ACCOUNT2”進入賬戶詳情頁面,複製使用者地址
這裡寫圖片描述
複製時,會出現提示“Warning: you are on the Test Network. Be careful not to transfer real funds to this account.”。不用理他,點選OK。
然後點選錢包介面的“SEND”,進入交易傳送介面

這裡寫圖片描述
點選“FROM”下方輸入欄,選擇交易的發起人,我們選“Main account” ,因為當前只有他的賬戶下有以太幣。“TO”下方的輸入欄我們輸入剛才複製的“ACCOUNT2”的地址。“AMOUNT”處輸入本次要交易的以太幣數量,以10個為例。輸入10。其他的地方不用管,我們把滾動條拖到最下方,左下方有個“SEND”按鈕,點選一下。彈出如下視窗
這裡寫圖片描述
在輸入欄中輸入主賬戶的密碼,點選“SEND TRANSACTION”交易就發出去了。
頁面會自動跳轉會主頁面。我們將滾動條滾到下面。
這裡寫圖片描述
我們可以看到我們剛才從主賬戶像“ACCOUNT2”發起的交易。
這裡寫圖片描述

好了,這樣的話,一個私有鏈搭建就完成了。也進行了一個簡單的交易。萬里長征的第一步邁出去了。不要覺得很麻煩,因為後續的種種比這要麻煩的多。
後續的Linux環境搭建,以及智慧合約我也會慢慢的更新。希望大家共同學習,共同進步

轉自http://blog.csdn.net/u014409380/article/details/53522581