搭建基於以太坊的私有鏈環境

科技探索者發表於2017-11-20

零、概述

版本號:Ubuntu-16.04 

              ethereum-1.6.0-stable

               go – 1.7.4


一、Ubuntu下安裝geth

1
2
3
4
sudo apt-get install software-properties-common
sudo add-apt-repository -y ppa:ethereum/ethereum
sudo apt-get update
sudo apt-get install ethereum

二、建立初始化檔案

vim genesis.json

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
{
    "config": {
        "chainId": 15,
        "homesteadBlock": 0,
        "eip155Block": 0,
        "eip158Block": 0
    },
    "nonce":"0x0000000000000042",
    "mixhash":"0x0000000000000000000000000000000000000000000000000000000000000000",
    "difficulty""0x4000",
    "alloc": {},
    "coinbase":"0x0000000000000000000000000000000000000000",
    "timestamp""0x00",
    "parentHash":"0x0000000000000000000000000000000000000000000000000000000000000000",
    "extraData""",
    "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的消耗總量限制,用來限制區塊能包含的交易資訊總和,因為我們是私有鏈,所以填最大。


三、啟動

1
geth --identity "emaretherum" --rpc  --rpccorsdomain "*" --datadir="/data/ethchain" --ipcdisable --port 30301 --rpcport 8101 console

引數

描述

identity

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

init

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

datadir

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

port

網路監聽埠

rpc

啟動rpc通訊,可以進行智慧合約的部署和除錯

rpcapi

設定允許連線的rpc的客戶端,一般為db,eth,net,web3

networkid

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

console

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

nodiscover

禁止被網路中其它節點發現,需要手動新增該節點到網路

verbosity

列印詳細的日誌資訊

四、debug 日誌引數

1
-verbosity 6


官方文件

啟動私有網路或本地叢集

https://github.com/ethereum/go-ethereum/wiki/Setting-up-private-network-or-local-cluster

監控

https://github.com/ethereum/go-ethereum/wiki/Setting-up-monitoring-on-local-cluster

快速建立本地叢集

https://github.com/ethersphere/eth-utils

本文轉自銀狐部落格51CTO部落格,原文連結http://blog.51cto.com/foxhound/1921181如需轉載請自行聯絡原作者

戰狐


相關文章