Geth搭建多節點私有鏈條

WesleyWang97發表於2018-05-17

搭建0號節點

參照:https://blog.csdn.net/yinanmo5569/article/details/80339031

搭建1號節點

建立步驟與之前是一樣的,要保證兩個節點在同一個區塊鏈上工作的話首先要保證genesis創世區塊鏈是一樣的,所以注意使用同樣的genesis.json檔案來建立.

geth --datadir "data/chain1" init genesis.json

啟動0號,1號節點

為了使兩個節點同時啟動,注意使用不同的port和rpc port.

啟動0號節點:

geth --networkid 14 --nodiscover --datadir "data/chain0" --rpc --rpcapi net,eth,web3,personal --rpcaddr localhost console 2>>geth0.log

啟動1號節點:

geth --networkid 14 --nodiscover --datadir "data/chain0" --port 55554 --rpc --rpcapi net,eth,web3,personal --rpcport 8101 --rpcaddr localhost console 2>>geth1.log

引數解釋:

--nodiscover 關閉p2p網路的自動發現,需要手動新增節點,這樣有利於我們隱藏私有網路
--datadir 區塊鏈資料儲存目錄
--port  網路監聽埠,預設30303
--networkid 網路標識,私有鏈取一個大於4的隨意的值
--rpc 啟用ipc服務
--rpcport ipc服務埠,預設埠號8545
--rpcapi 表示可以通過ipc呼叫的物件
--rpcaddr ipc監聽地址,預設為127.0.0.1,只能本地訪問
console 開啟一個可互動的javascript環境

新增節點

通過addPeer來新增節點.關於Geth JavaScript console的具體api可以在查詢官方文件:https://github.com/ethereum/go-ethereum/wiki/Management-APIs

首先檢視1號節點的enode

> admin.nodeInfo.enode
"enode://9ddf2906232571602eae34882305049cda0ac9b0053f18ac4dc8cf874400cd88788be6bf24b608fafb1b719388cbcd4cd6c4335bbaf924dfe35a705379a60caa@[::]:30303?discport=0"

在0號節點的console,新增1號節點

admin.addPeer("enode://9ddf2906232571602eae34882305049cda0ac9b0053f18ac4dc8cf874400cd88788be6bf24b608fafb1b719388cbcd4cd6c4335bbaf924dfe35a705379a60caa@127.0.0.1:30303")
true

檢視是否新增成功

檢視連線的節點數量和連線的節點列表:

net.peerCount
admin.peers

這裡寫圖片描述

相關文章