区块链开发笔记七:以太坊多节点同步部署
环境前准备
- 多台(两台及以上)虚拟机 :CentOS 7 64位 / Ubuntu16.04 64位
- linux虚拟机都有可正常使用的以太坊客户端工具。
若不能,请参考以下连接:
区块链开发笔记五:以太坊源码编译及环境搭建
区块链开发笔记一:以太坊自动化环境部署 - linux虚拟机都有可正常使用的docker环境。
若不能,请参考以下连接:
区块链开发笔记五:以太坊源码编译及环境搭建
区块链开发笔记一:以太坊自动化环境部署
以太坊搭建
创建account账号
geth --datadir node account new
此处创建三个account账号

创建私链
pupeth

创建创世块
此处创建创世区块可输入多个account账号来创建,但是会影响后面的节点部署效率,故推荐只用一个account账号来主服务器的节点使用,其他account账户通过console界面来添加。

连接服务器
此处连接了三个服务器,也可以只选择连接一个服务器去部署好ethstats以及其他节点,在后续创建第二个节点的时候再去选择连接其他服务器,个人推荐先连接所有需要部署的服务器。

部署监控页面
选择将121服务器作为主服务器,来监控其他服务器上部署的节点服务。
先保证121那台服务器所有网络组件正常,因此(ethstats)监控页面创建在121服务器。
监控页面可以监视123和125机器上的节点。

部署根节点
同样创建在121服务器上。

部署节点(第一个节点)
同样创建在121服务器上。

后续的钱包,水龙头等网络组件此处就不创建了,只测试节点。
详细操作参考:
区块链开发笔记二:以太坊自动部署环境测试
创建完成后,通过浏览器访问121服务器创建的监控页面。

部署第二个节点
同样还是在121服务器的puppeth界面创建,只不过需要连接到第二台服务器,且节点工作文件创建在第二台服务器的目录。
此处第二台服务器选择125服务器创建,而且只创建节点,后续的网络组件目前不考虑。

刷新监控页面
此时可以看到在125服务器上部署的节点会显示在121服务器的监控页面上,但是125服务器的节点没有连接到121服务器的私链上,因此下一步操作是添加信任账户。

添加信任账户
首先找到121服务器节点目录下的ipc文件,然后进入节点的console界面。
geth attach ipc:geth.ipc

查看125服务器创建节点用的account账号有没有添加到信任列表中
clique.getSigners()

如果125服务器节点用的account账号没有添加的,则需要添加到信任的账户
clique.propose('0xda29a67a1868c3959e5f5ac63f75e25f370ac424', true)
但是此处需要主要的是,执行propose操作后,需要在125虚拟机的console界面下执行操作,不然添加不成功。

去125服务器节点的console界面下,执行miner.start(),即可正常交易及显示。

刷新监控页面,会发现第二个节点已成功连接到私链,但是节点还是没正常工作,还需要做节点同步连接处理。

节点之间同步连接
先在121服务器的节点console界面查看节点连接情况。
admin.peers

如果发现121服务器的节点没有连接上125服务器的节点,则需要关联。
首先查看125服务器节点信息
admin.nodeInfo
或
admin.nodeInfo.enode

执行下面指令连接节点。
admin.addPeer("enode://2a98980efebf19d975bcf567a730c8619217fcd98d01ed34580995a37a46d0ac8deeb3d38bc66134bfe30618e4e0ec6b89dd4e1c9d8961c738790a013a71f780@192.168.5.125:30304")
连接过程中可能会出现延迟情况,请耐心等待。
在121服务器上查看连接情况,会发现已连接成功。

在125服务器上查看。

刷新监控页面,会发现节点开始正常工作

所有部署的节点可以在对应的服务器上同docker日志查看。
docker logs -f 私链名+节点名

121服务器puppeth界面显示

问题注意
在加入信任账户的操作中,有一点需要注意,就是信任支持率要达到50%以上,不然无法加入信任列表。
举个例子:
假如有三台服务器的节点已经相互信任且相互连接起来了,此时加入第四台服务器来创建节点,此时至少要有两台虚拟机执行propose操作,不然第四台服务器节点作用的account账户无法加入信任列表。
图片说明:


多节点的部署就到此结束了,可能在部署过程中存在点问题,不懂的可以私信小编,谢谢。
更多详细介绍
https://download.csdn.net/download/qq_36651243/11068809
更多资料:
以太坊自动化部署
以太坊环境测试
go-ethereum编译
docker切换代理
docker启动问题
puppeth中私链绑定账户问题
以太坊中go版本问题
智能合约部署上链操作
ipfs私有网络搭建
更多推荐
所有评论(0)