进阶:单机分步部署
0. 阅读指南
在进行链的部署前,请先阅读完本章 0.阅读指南 中的内容。如果存在文档也无法提供帮助解决的问题,或者文档有地方存在异议,请及时联系文档最后一次的修改人。
文档使用方法
本部署指南介绍的是通过脚本实现更为灵活的单机分步部署的方式。
请先阅读 文档《Venachain部署介绍》 ,了解关于Venachain部署中涉及的一些名词解释与部署环境的目录结构。
关于本文档给出的命令的使用方法、参数说明、使用示例以及注意事项,请参考文档 《部署工具venachainctl操作指南》 。
1. 初始化节点和创世区块
1.1. 创建密钥与创世区块
警告
本步骤仅 fristnode 执行。
会在
{WORKSPACE}/data/node-${node_id}目录下,生成节点的公私钥、IP 端口等信息。会在
{WORKSPACE}/conf目录下生成一个genesis.json文件。
命令
cd ${WORKSPACE}/scripts
./venachainctl.sh setupgen -n ${node_id} --ip ${ip} --p2p_port ${p2p_port} --interpreter ${interpreter} --auto true
## 示例
./venachainctl.sh setupgen --auto true
1.2. 初始化
注解
部署完 firstnode 后,部署其他节点直接从本步骤开始执行
根据 genesis.json 文件生成创世区块,并配置节点的端口信息
命令
cd ${WORKSPACE}/scripts/
./venachainctl.sh init -n ${node_id} --ip ${ip} --rpc_port ${rpc_port} --p2p_port ${p2p_port} --ws_port ${ws_port} --auto true
# 示例
./venachainctl.sh init --auto true
./venachainctl.sh init -n 3 --ip 127.0.0.1 --rpc_port 6794 --p2p_port 16794 --ws_port 26794 --auto true
2. 启动节点
命令
./venachainctl.sh -n ${node_id} --bootnodes ${bootnodes} --logsize ${logsize} --logdir ${logdir} --extraoptions ${extraoptions} --txcount ${txcount}
## 示例
./venachainctl.sh start -n 0
./venachainctl.sh start -n 3 --bootnodes "enode://7a7ab8ab54810b84907cc8e445229db1da2080bad0d2f2360f0faa085d6e5fce16fe1fa13955de00503da31b701865275dff22c1ad21824cf33e7e54a4968997@127.0.0.1:16791" --logsize 66666666 --logdir "/opt/logs" --extraoptions "--verbosity 4" --txcount 2000
3. 节点加入区块链
firstnode加入区块链
本步骤会首先在节点侧创建一个账号,然后将该账户升级为超级管理员和链管理员,最后将节点加入区块链并更新为共识节点。
命令
./venachainctl.sh deploysys -n ${node_id} --auto true
非firstnode加入区块链
警告
firstnode 必须已加入区块链
将节点加入区块链并更新为共识节点
命令
## 节点加入区块链
./venachainctl.sh addnode -n ${node_id}
## 节点更新为共识节点
./venachainctl.sh updatesys -n ${node_id}