主页 > 软件下载imtoken > 在自己搭建的以太坊私链中
在自己搭建的以太坊私链中
本文没有解决这个问题。 我已经描述了我的测试过程和一些发现。 欢迎对此问题有见解的朋友留言讨论。
前提
所有的geth初始化都使用同一个genesis.json文件,每个节点的-port和-rpcport不一样,增加了-nodiscover参数。
问题描述:
首先,我搭建了自己的以太坊私链。 在之前的使用中,我是直接启动私有链的,不管轻节点和全节点的问题,也就是没有设置--syncmode参数。
最近关注到轻节点和全节点,所以希望搭建一条同时包含全节点和轻节点的以太坊私链,实现节点间的交互。 补充以前的帖子,但我遇到了麻烦。
我在本文的admin和bootnode方法中添加了--syncmode "light"参数,多次失败。
试验结果:
尝试得到相同的结果:
所有节点都可以很好的连接起来,无论是admin还是bootnode方式。
轻节点和全节点之间没有连接。 添加轻节点后以太坊全节点,peercount不变,连接失败。
轻节点之间没有连接(这个我只做了测试,我在轻节点的控制台通过admin.addPeer()添加了一个轻节点,peercount=0,连接失败。)
测试过程中发现的问题:
首先对比一下启动轻节点和全节点后自动输出的语句:
轻节点:
全节点:
专注于
最大对等点数
可以看到轻节点中ETH=0 LES=20
全节点ETH=50 LES=0
ETH和LES分别代表可连接的全节点和轻节点的数量,也就是说这里不能连接,轻节点不能连接全节点,全节点不能连接轻节点。
此外,我尝试在轻节点和全节点中更改 ETH 和 LES
我的更改命令如下:
在 geth start 命令中添加参数
--maxpeers value 最大的网络节点数量(如果设置为0,网络将被禁用)(默认值:25)
--lightpeers value 最大LES client peers数量(默认值:100)
得到的结果是
在轻节点的控制台以太坊全节点,我可以很方便的更改LES,即轻节点的最大连接数; 但ETH无法更改,即全节点最大连接数仍为0,无法更改。
至今。