【fisco学习记录3】扩容新节点以及配置控制台
扩容新节点需要先搭建好控制台,因此第一步先配置控制台。
环境Windows 11安装wsl
参考文章:https://fisco-bcos-documentation.readthedocs.io/zh-cn/latest/docs/installation.html
配置控制台
一、准备依赖
所在目录:~/fisco
1.安装java
sudo apt install -y default-jdk
2.获取控制台并回到fisco目录
cd ~/fisco && curl -LO https://github.com/FISCO-BCOS/console/releases/download/v2.9.2/download_console.sh && bash download_console.sh
3.拷贝控制台配置文件
将 console/conf目录下的配置文件config-example.toml拷贝一份
cp -n console/conf/config-example.toml console/conf/config.toml
4.配置控制台证书
cp -r nodes/127.0.0.1/sdk/* console/conf/
二、 启动并使用控制台
启动之前先确保启动了相应的链,以单群组4节点的联盟链为例:【fisco学习记录】搭建第一个单群组联盟链-CSDN博客
1.启动所有节点
bash nodes/127.0.0.1/start_all.sh
2.启动控制台
此时进入fisco/console目录
cd ~/fisco/console && bash start.sh
3.用控制台获取信息
查看群组中共识节点列表:
getSealerList
其他相关操作命令:
addSealer:根据节点NodeID设置对应节点为共识节点;
addObserver:根据节点NodeID设置对应节点为观察节点;
removeNode:根据节点NodeID设置对应节点为游离节点;
getSealerList:查看群组中共识节点列表;
getObserverList:查看群组中观察节点列表;
getNodeIDList:查看节点已连接的所有其他节点的NodeID。
查看完群组中共识节点列表后会发现,现在参与共识的只有四个节点,现需要扩容一个新节点并将其加入共识。
扩容新节点
参考文章:https://fisco-bcos-documentation.readthedocs.io/zh-cn/latest/docs/tutorial/add_new_node.html
一、为节点生成证书并启动
所在目录:~/fisco
每个节点都需要有一套证书来与链上的其他节点建立连接,扩容一个新节点,首先需要为其签发证书。
1.为新节点生成私钥证书
1.1 获取证书生成脚本
curl -#LO https://raw.githubusercontent.com/FISCO-BCOS/FISCO-BCOS/master-2.0/tools/gen_node_cert.sh
1.2 生成新节点私钥证书
使用命令以下命令,其中:
-c 指定机构证书及私钥所在路径,也就是指定哪个机构去生成证书
-o 指定输出到哪里去,其中node4/conf中会存在机构agency新签发的证书和私钥成功会输出 All completed 提示
bash gen_node_cert.sh -c nodes/cert/agency -o nodes/127.0.0.1/node4
四节点的单群组联盟链只有一个机构(在“fisco/nodes/cert”下面),因此添加一个新的节点时需要创建这个新节点所需要的证书信息时,需要由此机构来生成。如果是多网环境下,要在对应机构下新加入节点,则需要对应的机构来生成节点证书。
现在nodes4下面只有一个conf文件,还需要节点配置文件。
2.准备节点配置文件
接下来的操作在
nodes/127.0.0.1
目录下进行:cd nodes/127.0.0.1
2.1 拷贝配置文件
从node0拷贝node0/config.ini
、node0/start.sh
和node0/stop.sh
到node4目录。
拷贝完成后若直接启动会报错,因为拷贝的是node0的配置文件,如果启动会和node0的端口冲突,因此需要修改node4的配置文件。
2.2 修改配置文件
修改node4/config.ini。
对于[rpc]
模块,修改channel_listen_port=20204
和jsonrpc_listen_port=8549
;
对于[p2p]
模块,修改listen_port=30304
并在node.
中增加自身节点信息。
vim node4/config.ini
按"i"进行输入 ,修改前:
修改后:
按“esc”退出输入模式,输入":wq”保存并退出。
2.3 拷贝创世区块等群组节点初始列表
拷贝节点1的node0/conf/group.1.genesis
(内含群组节点初始列表)和node0/conf/group.1.ini
到node4/conf
目录下,不需改动;
cp node0/conf/group.1.genesis node0/conf/group.1.ini node4/conf/
2.4 启动节点
执行node4/start.sh
启动节点(当前路径为 fisco/nodes/127.0.0.1),或者启动全部节点。
bash node4/start.sh
bash start_all.sh
2.5 确认连接
确认node4与其他节点连接已经建立,加入网络操作完成。
tail -f node4/log/log* | grep "connected count"
以下日志表明节点node4与其他4个节点建立了连接:
完成连接后,需要将节点加入群组,实现共识。
二、节点加入群组
1.获取node4的nodeid
cat node4/conf/node.nodeid
2.启动控制台将node4加入群组
cd ~/fisco/console && bash start.sh
使用getSealerList查看共识节点列表并使用addSealer将node4作为共识节点加入群组 。
成功后输入“exit”退出。
3.验证是否成功
验证是否共识成功
tail -f ~/fisco/nodes/127.0.0.1/node4/log/log* | grep +++
输出以下内容则表明node4加入成功。