进阶:单机分步部署

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}