任务1-2:区块链系统部署与运维
围绕新能源管理区块链平台部署与运维需求,进行项目相关系统、节点以及管理工具的部署工作。通过监控工具完成对网络、节点服务的监控。最终基于业务需求规范,完成系统日志、网络参数、节点服务等系统结构的维护,具体要求如下:
- 根据参数与端口设置要求,部署区块链系统并验证;
- 根据参数与端口设置要求,部署区块链网络管理平台并验证;
- 基于区块链系统相关管理平台,按照任务指南实施系统运维工作并验证;
- 基于区块链系统相关监管工具,按照任务指南对区块链系统进行监管。
子任务1-2-1: 搭建区块链系统并验证
区块链系统中包括3个独立组织以及6个节点,网络拓扑为星型网络,并在联盟链中需实现2个数据隔离场景(group1、group2),节点可根据具体业务加入不同的业务场景。具体工作内容如下:
- 使用给定工具(地址“/root/tools”),配置区块链系统;
- 启动区块链系统全部节点并验证启动情况;
- 检查节点的连接状态以及所属场景的共识状态。
1-2-1-1:使用给定工具(地址“/root/tools”),配置区块链系统;
这里要注意题目要求是3机构2群组6节点,所以要写节点的配置文件了
新建ipconf文件 输入组网配置文件的内容
这里并没有要求节点的端口号,不写默认就是30300,20200,8545
这是组网结构图
运行build_chain.sh脚本时 需要参数 -f 来指定配置文件
-l 和 -f 选项必须指定一个且不可共存
1-2-1-2:启动区块链系统全部节点并验证启动情况;
启动
验证
1-2-1-3:检查节点的连接状态以及所属场景的共识状态。
这里同样没说是检查哪个节点的连接状态和共识状态,我们就以node0节点为例
连接状态
共识状态
子任务1-2-2:搭建区块链系统管理平台并验证
基于给定服务器环境、软件以及工具(地址“/root/tools”),构建区块链系统相关控制台,并通过控制台实现相关系统管理,具体工作内容如下:
- 使用给定工具,配置控制台证书;
- 使用给定工具,以pem加密方式创建3个区块链账户(Account1、Account2、Account3);
- 使用给定工具,通过Account1登录控制台,并查看区块高度;
- 使用给定工具,通过Account2登录控制台,并查看共识状态;
- 使用控制台部署HelloWorld.sol智能合约并调用set和get方法;
- 使用控制台查看区块链中的情况高度。
1-2-2-1:使用给定工具,配置控制台证书;
1-2-2-2:使用给定工具,以pem加密方式创建3个区块链账户(Account1、Account2、Account3);
bash get_account.sh
在下载控制台时,会自动下载生账户的脚本和国密账户脚本,我们之前为了简化操作进入到控制台都是使用的默认账户 账户信息存储在account目录下。
使用脚本创建的账户默认就是采用pem方式生成,存储在accouns目录下,也可以加参数-p生成PKCS12格式私钥账户。
这里官方文档与实际的操作不太符合。
默认启动控制台时会从account => ecdsa目录下寻找账户,如果没有就新创建(目录没有也会创建)
官方给的文档说明与实际的操作不太符合。
1-2-2-3:使用给定工具,通过Account1登录控制台,并查看区块高度;
getBlockNumber
1-2-2-4:使用给定工具,通过Account2登录控制台,并查看共识状态;
登录账号2
查看共识状态
getConsensusStatus
1-2-2-5:使用控制台部署HelloWorld.sol智能合约并调用set和get方法;
部署HelloWorld.sol
调用get方法
调用set方法
1-2-2-6:使用控制台查看区块链中的情况高度。
子任务1-2-3:区块链节点运维
基于已完成的区块链系统与管理平台搭建工作,开展区块链节点的加入与退出运维工作,具体内容如下:
- 获取node3的节点ID;
- 启动控制台,在group1中移除node3节点;
- 检查node3节点共识状态日志。
1-2-3-1:获取node3的节点ID;
1-2-3-2:启动控制台,在group1中移除node3节点;
1-2-3-3:检查node3节点共识状态日志。
这里注意要把之前的节点log日志删除,然后在重启节点
因为node3节点只在group1中,现在通过命令removeNode被移除了,就不会有共识状态,所以不会有输出。
子任务1-2-4:区块链网络运维
基于已完成的区块链系统与管理平台搭建工作,开展节点运维工作,具体内容如下:
- 生成新节点(node4),启动并检查;
- 修改新节点配置,并查看节点的nodeid;
- 将新节点作为观察节点加入group1当中,并检查是否加入成功;
- 将区块打包最大交易数量设为2000笔。
1-2-4-1:生成新节点(node4),启动并检查;
这个题目有少许的问题,之前我们已经创建6个节点了,所以我们是从node6开始的。
这个题目叫我们启动并检查,下一个题目才叫我们配置,顺序有一点点反了
使用脚本生成新节点 -c指定机构名 -o指定存放目录
启动
检查
1-2-4-2:修改新节点配置,并查看节点的nodeid;
修改配置
查看nodeid
1-2-4-3:将新节点作为观察节点加入group1当中,并检查是否加入成功;
检查