c#服务器后台搭建_手把手教你从源代码开始搭建多节点以太坊私链(四)部署及连接多个节点…

经过[手把手教你从源代码开始搭建多节点以太坊私链(二)搭建第一个节点]的操作,基本已经熟悉怎么去搭建好一个节点服务器了。在这个基础上, 多节点搭建并不复杂,按照下面的步骤就可以完成。

1. 使用相同的创世区块文件genesis.json

创世区块genesis.json文件内容如下:

{ 

2. 用创世纪区块json区块初始化节点

执行以下命令初始化各个节点。

geth --datadir /data/00 init genesis.json

3. 启动各个节点

执行以下命令启动各个节点。console参数表示启动后,启用命令行。 重要:节点编号要与创世文件中的chainId一致

#带geth命令行的方式启动 geth --networkid 

4. 获取节点信息

#接入geth控制台 geth attach ipc:/data/00/geth.ipc # 获取节点信息 admin.nodeInfo.enode

节点信息如下:

72026517af61cea35d5fe8ea324f95f1.png

格式是这样的: "ennode://< node public key >@[::]:< tcpport >?discport=< udpport >" 需要将[::]换成该节点电脑的公网IP地址。tcpport通常情况是30303,udpport通常可以设为30301,可能也可以不用。

5. 加入节点信息

加入节点信息有两种方式。 1. 通过命令行加入。

#接入geth控制台 admin.addPeer("ennode://< node public key >@[node ip address]:<tcpport>?discport=<udpport>")

根据实际操作经验,注意要开启挖矿,不然的话节点信息不能添加成功。

  1. 通过配置文件加入。这种情况下下需要重启geth。 在data/geth目录下,创建静态节点文件static-nodes.json,并将各个节点的node信息写入。
[ 

然后启动geth

100 --datadir /data/00 --rpc --rpcapi personal,db,eth,net,web3 console 2>>geth.log

6. 节点确认

在各个节点上进行测试:

#已连接的其他节点的个数 net.peerCount #返回其他节点的信息 admin.peers

然后从一个节点创建账户,开始挖矿,转账等各种操作,其它节点也会自动同步区块信息。

7 自己的多节点私链搭建总结

到目前为止,大家应该对以太坊私链的搭建有了比较完整的了解。连接过程中有几点需要注意:
(1)两节点要加入同一条私链,即这两个节点初始化的创世区块必须要一模一样。启动节点的时候要使用同样的networkid。也注意节点间是互通的。包括防火墙之类的问题要注意,如果端口被封肯定是无法连接上的。如果租用云服务器,要查看安全组里面相应的端口(rpc端口例如8545,节点互连端口例如30303)是否已经开放。
(2)A节点在添加B节点的enode字符串时需要手动将enode字符串中的ip地址设为B节点的IP地址。
(3)加入同一个私链之后,区块信息会完全同步,所有交易也是知道的。但是不同节点创建的账户,是互相看不到的。不过,他们的余额可以查到,转账交易也没有任何问题。

原文链接:https://blog.csdn.net/weixin_39587164/article/details/110364084

原创文章,作者:优速盾-小U,如若转载,请注明出处:https://www.cdnb.net/bbs/archives/5984

(0)
上一篇 2022年8月30日 10:01
下一篇 2022年8月30日 11:18

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

优速盾注册领取大礼包www.cdnb.net
/sitemap.xml