搭建以太坊私有链之多节点环境(2.三台电脑之间)

1.首先参考上篇文章安装好环境,下载go-ethereum。

    下载地址https://geth.ethereum.org/downloads/ 

    安装地址

2. 这里先用了两台电脑A和B,A ip地址通过ifconfig -a 查看为 172.16.56.71 ,B ip地址为172.16.56.74。

   两台电脑需要ping通。

3.创建创世区块,需要注意的是,多节点的创世区块需要一样,新建文件夹PrivateEth,这里使用如下创世区块genesis.json,:

{
  "config":{
	"chainId":999,
	"homesteadBlock":0,
	"eip155Block":0,
	"eip158Block":0
  },
  "nonce": "0x0000000000000042",
  "timestamp": "0x00",
  "parentHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "extraData": "0x88",
  "gasLimit": "0x80000000",
  "difficulty": "0x800",
  "mixhash": "0x0000000000000000000000000000000000000000000000000000000000000000",
  "coinbase": "0x3333333333333333333333333333333333333333",
  "alloc": {     }
}

4.首先是节点A(即电脑A):

  新建终端执行命令:这里是cd到创世块目录PrivateEth,否则需要指定路径

blockchain1@blockchain1-laptop:~/PrivateEth$ geth --datadir "./" init genesis.json

  然后执行命令:

geth --datadir /home/blockchain1/PrivateEth --nodiscover --networkid 666 --ipcdisable --port 6000 --rpc --rpcport 3333 console 2>>/home/blockchain1/PrivateEth/geth.log

 这里networkid需要注意,各节点如果需要互联networkid需要一样, 因为是不同电脑之间,所以 port 和 rpcport不需要一样。

 执行完命令后显示:Welcome to the Geth JavaScript console! 

 继续执行admin.nodeInfo.enode返回: 这个后面会用到

"enode://696f22d731066625d2bef2ed40d993181ed41427e41f514500a02f4adc46b3cfa145d7f633af01313183346d4349787c8d67322f99397a4f6afd619a64b55ad1@192.168.1.2:6000?discport=0"

5.节点B的建立和A一样

  需要注意netwokid需要一致,目录要规划好。

6.B节点加入A节点中去(通过A的enode信息来连接)执行以下命令:

admin.addPeer("enode://696f22d731066625d2bef2ed40d993181ed41427e41f514500a02f4adc46b3cfa145d7f633af01313183346d4349787c8d67322f99397a4f6afd619a64b55ad1@192.168.1.2:6000?discport=0")

返回 true 代表加入成功。

7 .测试结果:

然后在两个节点上测试:

net.peerCount

会返回已连接的其他节点的个数

admin.peers

返回其他节点的信息

然后一个节点创建账户,开始挖矿,另一个节点也会自动同步。

 挖矿信息:

INFO [03-27|11:23:33] Successfully sealed new block            number=101 hash=ccf6ad…a0dc24
INFO [03-27|11:23:33]

你可能感兴趣的:(区块链)