题目:任务1-2:区块链系统部署与运维
围绕食品安全溯源区块链平台部署与运维需求,进行项目相关系统、节点以及管理工具的部署工作。通过监控工具完成对网络、节点服务的监控。最终根据业务需求规范,完成系统日志、网络参数、节点服务等系统结构的维护,具体要求如下:
- 根据参数与端口设置要求,部署区块链系统并验证;
- 根据参数与端口设置要求,部署区块链网络管理平台并验证;
- 基于区块链系统相关管理平台,按照任务指南实施系统运维工作并验证;
- 基于区块链系统相关监管工具,按照任务指南对区块链系统进行监管。
参考步骤:
子任务1-2-1: 搭建区块链系统并验证
基于给定服务器环境以及软件(地址“/root/tools”),搭建一条4节点的区块链系统并验证,具体工作内容如下:
(1)采用默认配置搭建区块链网络;
命令:bash /root/tools/build_chain.sh -l 127.0.0.1:4 -e /root/tools/fisco-bcos -p 30300,20200,8545
启动节点:bash node/127.0.0.1/start_all.sh
(2)通过命令验证区块链节点进程运行状况;
命令:ps -ef | grep -v grep | grep fisco-bcos
(3)通过命令验证区块链连接状态和共识状态日志输出。
验证连接状态:tail -f nodes/127.0.0.1/node0/log/log* | grep connected
验证共识日志输出:tail -f nodes/127.0.0.1/node0/log/log* | grep +++
子任务1-2-2:搭建区块链系统管理平台并验证
基于给定服务器环境以及软件(地址“/root/tools”),搭建区块链控制台并开展相关运维工作,具体工作内容如下:
(1)配置控制台,管理相关证书并启动;
拷贝SDK证书:cp nodes/127.0.0.1/sdk/* console/conf/
拷贝配置文件:cp console/conf/config-example.toml console/conf/config.toml
启动控制台:bash console/start.sh
(2) 使用控制台安装HelloWorld智能合约;
部署命令:deploy HelloWorld
(3) 使用控制台完成HelloWorld智能合约的set与get操作;
下方地址为部署结果中的【contract address】
set操作:call HelloWorld 0xddd3ff026dbe721e30fb6e061304bf4220a9371c set "Hellochain"
get操作: call HelloWorld 0xddd3ff026dbe721e30fb6e061304bf4220a9371c get
(4)使用控制台查看区块链中区块高度。
获取区块高度:getBlockNumber
子任务1-2-3:区块链节点运维
基于已完成的区块链系统与管理平台搭建工作,开展区块链节点的加入与退出运维工作,具体内容如下:node0
(1)获取指定区块链节点输出等级为警告级,并设置日志存储阈值位100MB并验证;
编辑配置文件:vim vim nodes/127.0.0.1/node0/config.ini
验证日志输出等级:cat nodes/127.0.0.1/node0/config.ini |grep level
验证日志存储阈值:cat cat nodes/127.0.0.1/node0/config.ini |grep max_log_file_size
(2)通过给定工具(地址/root/tools)完成新节点(node4)配置;
【127.0.0.1目录下操作】
生成新节点:bash /root/tools/gen_node_cert.sh -c ../cert/agency/ -o node4
配置新节点(拷贝):
cp node0/*.sh node4/
cp node0/config.ini node4/
cp node0/conf/group.1.* node4/conf/
修改congig.ini配置文件: vim node4/conhig.ini
(3)启动新节点加入区块链系统并验证。
启动新节点:bash start_all.sh
验证运行情况:ps -ef | grep -v grep | grep fisco-bcos
查看连接状态:tail -f node1/log/log* | grep connected
子任务1-2-4:区块链网络运维
根据任务描述要求,完成网络配置与管理运维操作,具体内容如下:
(1)设置区块链系统黑名单,将node3设为黑名单禁止连接,并验证;
查看node3的nodeid:cat node3/conf/node.nodeid
设置node0配置:vim node0/config.ini
重启node0节点:bash node0/stop.sh && nash node0/start.sh
验证连接状态:tail -f node0/log/log* |grep connected
【其他node1节点、node2节点、node4节点,同以上操作】
(2)设置系统中区块打包最大交易数量设为2000;
命令: setSystemConfigByKey tx_count_limit 2000
(3)验证区块最大打包交易数量情况。
命令:getSystemConfigByKey tx_count_limit
【至此,区块链环境搭建完毕】