區塊鏈學習(三)linux下搭建以太坊私人鏈環境__Linux

來源:互聯網
上載者:User

參考文章地址:http://blog.csdn.net/sportshark/article/details/51855007

 

搭建環境:Ubuntu

 

具體的安裝可以參考官方指南:

https://github.com/ethereum/Go-ethereum/wiki/Building-Ethereum

 

一:進入ubuntu終端命令列:

分別輸入:

sudo apt-get installsoftware-properties-common

sudo add-apt-repository -yppa:ethereum/ethereum

sudo add-apt-repository -yppa:ethereum/ethereum-dev

sudo apt-get update

sudo apt-get install ethereum

系統連網執行完命令後就會完成安裝,完成安裝後,輸入geth命令,可以看到geth啟動的資訊(串連的是公有鏈)。或者輸入geth --help

如果現實出命令列各種參數提示資訊,則說明安裝成功。

注意:如果安裝過程中出錯,不要灰心急於放棄,閱讀其出錯資訊,然後解決它,然後繼續安裝,一般出錯都是由於需要依賴其他組件,則先安裝其他組件。

 

二:創世塊:

在以上安裝成功之後,直接啟動,即可串連公有鏈。現在通過配置創世塊來建立私人鏈。同一個網路中,創世塊必須是一樣的,否則無法聯通。

建立一個eth的根目錄的檔案夾,在根目錄下建立創世塊json檔案piccgenesis.json。內容如下:

{

"nonce":"0x0000000000000042",

"mixhash":"0x0000000000000000000000000000000000000000000000000000000000000000",

"difficulty": "0x4000",

"alloc": {},

"coinbase":"0x0000000000000000000000000000000000000000",

"timestamp": "0x00",

"parentHash":"0x0000000000000000000000000000000000000000000000000000000000000000",

"extraData":"SecBroBlock",

"gasLimit":"0x0000ffff"

}

 

參數解釋:

mixhash   與nonce配合用於挖礦,由上一個區塊的一部分產生的hash。注意他和nonce的設定需要滿足以太坊的Yellow paper, 4.3.4. Block Header Validity, (44)章節所描述的條件。

nonce       nonce就是一個64位隨機數,用於挖礦,注意他和mixhash的設定需要滿足以太坊的Yellow paper, 4.3.4. Block Header Validity, (44)章節所描述的條件。

difficulty   設定當前區塊的難度,如果難度過大,cpu挖礦就很難,這裡設定較小難度

alloc 用來預置帳號以及帳號的以太幣數量,因為私人鏈挖礦比較容易,所以我們不需要預置有幣的帳號,需要的時候自己建立即可以。

coinbase  礦工的帳號,隨便填

timestamp        設定創世塊的時間戳記

parentHash      上一個區塊的hash值,因為是創世塊,所以這個值是0

extraData 附加資訊,隨便填,可以填你的個性資訊

gasLimit   該值設定對GAS的消耗總量限制,用來限制區塊能包含的交易資訊總和,因為我們是私人鏈,所以填最大。

 

 

切換到剛剛存放piccgenesis.json的目錄中:執行以下命令:

 

basepath=$(cd `dirname $0`; pwd)

 

擷取當前的目錄

 

geth --datadir "$basepath/chain"init piccgenesis.json

 

建立資料存放地址並初始化創世塊

 

geth --identity"PICCetherum" –rpc--rpccorsdomain "*" --datadir "$basepath/chain" --port"30303" --rpcapi "db,eth,net,web3" --networkid 95518console

 

命令解釋:

參數名稱         參數描述

identity    區塊鏈的標示,隨便填寫,用於標示目前網路的名字

init   指定創世塊檔案的位置,並建立初始塊

datadir     設定當前區塊鏈網路資料存放的位置

port 網路監聽連接埠

rpc   啟動rpc通訊,可以進行智能合約的部署和調試

rpcapi       設定允許串連的rpc的用戶端,一般為db,eth,net,web3

networkid         設定當前區塊鏈的網路ID,用於區分不同的網路,是一個數字

console     啟動命令列模式,可以在Geth中執行命令

 

啟動成功如下:

 



啟動了節點後,就進入了geth命令列模式,輸入personal.newAccount() 根據提示輸入密碼就會給你建立了一個賬戶。

 

 

三:串連其他節點:

         五:串連其他節點:

 

首先要知道自己的節點資訊,在Geth命令列介面下輸入命令,注意大小寫

admin.nodeInfo

系統會顯示

enode:"enode://1e3c1727cd3bee9f25edeb5dbb3b880e03e41f8eec99566557f3ee0422734a8fcad17c161aa93d61bdbfb28ed152c143c7eb501db58bc63502a104a84b62d742@0.0.0.0:30303“

其中

enode://1e3c1727cd3bee9f25edeb5dbb3b880e03e41f8eec99566557f3ee0422734a8fcad17c161aa93d61bdbfb28ed152c143c7eb501db58bc63502a104a84b62d742@0.0.0.0:30303

就是自己節點的資訊,注意要把”0.0.0.0”換成你自己的IP。將這個資訊發送給其他節點,在其他節點的命令列中輸入:

admin.addPeer(‘enode://1e3c1727cd3bee9f25edeb5dbb3b880e03e41f8eec99566557f3ee0422734a8fcad17c161aa93d61bdbfb28ed152c143c7eb501db58bc63502a104a84b62d742@192.168.1.101:30303’)

如果添加成功,輸入admin.peers會顯示出新添加的節點。

 

六:

開始挖礦的命令:

miner.start()

結束挖礦:

Miner.stop()

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.