笔记:以太坊私有链多节点加入,Windows+Windows,Windows+Ubuntu,以及不同主机节点间的转账

动态添加节点

1.在两台Windows主机搭建好以太坊geth客户端,注意用同一个创世区块文件初始化

具体可参考上一篇笔记

2.确认两台主机可正常通信:

ipconfig查看ip,然后用另一台主机ping这个ip,能ping通即可。

3.添加节点:

a.进入geth控制台,用命令admin.nodeInfo查看enode信息

笔记:以太坊私有链多节点加入,Windows+Windows,Windows+Ubuntu,以及不同主机节点间的转账_第1张图片

b.在另一台主机,进入geth控制台使用命令添加节点:

admin.addPeer("enode://9a7980...[192.168.1.41]...")

这里执行成功之后,两台主机会开始同步区块数据。

这里以Windows+Ubuntu为例(Windows+Windows同理),在Windows上执行上述命令,Ubuntu结果如下:

笔记:以太坊私有链多节点加入,Windows+Windows,Windows+Ubuntu,以及不同主机节点间的转账_第2张图片

可以看到已经开始同步Windows上的区块记录,注意:这里Ubuntu里的geth客户端还没有开始挖矿,所以Windows系统加入该节点后,该节点会立即同步Windows上已有的区块记录。

同步成功可查看区块个数,已经和Windows上区块个数一样为49个。

上面说的是动态添加

4.查看添加成功的节点信息

admin.peers

笔记:以太坊私有链多节点加入,Windows+Windows,Windows+Ubuntu,以及不同主机节点间的转账_第3张图片

这样就将节点添加进去了。

静态添加节点

将所要加入的节点信息写入static-nodes.json文件,每次启动私有链将自动连接该节点,一劳永逸

1.在geth目录下创建static-nodes.json文件,将在Linux节点查得的enode信息写入:

[
"enode://7610b8d7c7d944087f9328e131f6267dcc1c72eb18ccffd7c58c5e9f68ba2dab3e65b058614eedf9ef37de299b96192adad552b227b868d8be1b1e642ed340a4@[192.168.1.45]:30303?discport=62267"
]

2.分别启动两个节点,过一会将自动连接,同样用命令admin可查看连接节点信息。

不同节点间的转账交易

两个节点间(分别在两个主机)转账操作:

eth.sendTransaction({from:"Windows节点账户",to:"Linux节点账户",value:1000000000000000000})

执行上述转账命令(两账户已经unlock),然后Windows节点启动挖矿miner.start()

过一会(可能很久)之后,查看Linux节点账户,两节点区块数同步且收到转账:

笔记:以太坊私有链多节点加入,Windows+Windows,Windows+Ubuntu,以及不同主机节点间的转账_第4张图片

这是动态添加节点之后的转账操作,现在试一下静态添加节点之后的转账(其实是一样的,就是重复一遍),先关闭两个节点,配好节点信息,启动两个节点,确认节点已连接之后,分别解锁两个账户,开始转账:

笔记:以太坊私有链多节点加入,Windows+Windows,Windows+Ubuntu,以及不同主机节点间的转账_第5张图片

查看Linux节点账户余额:

笔记:以太坊私有链多节点加入,Windows+Windows,Windows+Ubuntu,以及不同主机节点间的转账_第6张图片

多了1ether,转账成功。

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