本指南解释了Symbol Bootstrap背后的概念,Symbol Bootstrap是一个包含必要的安装脚本的包,可以帮助开发人员快速配置和运行自己的网络或节点。
阅读本文后,您将能够更好地理解创建专用测试网络和运行测试网络节点指南。
这个包取代了以前的工具Catapult Service Bootstrap和Symbol Testnet Bootstrap。
需求
环境
安装脚本是使用docker自动化的。要运行测试网络或节点,您需要安装以下工具:
- 操作系统:Ubuntu 20.04 64位
- nodejs:v10或更高
- docker
- docker-compose
端口
请确保可以从internet访问服务器的主机,并且以下端口已打开且可用:
- catapult-server:使用端口7900在节点之间进行通信。
- REST网关:使用端口3000与节点交互。
安装
sudo apt update
sudo apt install nodejs npm \
docker docker-compose
npm install -g symbol-bootstrap
Symbol Bootstrap是作为一个可安装的工具提供的,不需要克隆存储库并构建它。只要做:
npm install -g symbol-bootstrap
配置
预制:
节点配置是通过YAML配置文件完成的,该文件指定了每个可能的网络参数。由于整个文件可以有几百行长,因此可以使用许多预设来简化其处理:
通过指定提供附加参数的程序集(或风格),可以进一步自定义预设:
最后,如果需要额外的配置,可以提供自定义YAML文件。此文件中的任何值都将替代预设或程序集设置的默认值,以便可以将其组合在它们之上。请参阅配置网络属性指南,了解哪些参数可用。
创建配置文件
在构建网络之前,必须使用symbol-bootstrap config命令创建完整的配置文件,并提供所需的预设和装配程序:
symbol-bootstrap config -p <preset> -a <assembly> -c <custom_parameters_file.yml>
一些示例:
symbol-bootstrap config -p bootstrap symbol-bootstrap config -p testnet -a peer symbol-bootstrap config -p testnet -a dual symbol-bootstrap config -p testnet -a dual -c custom_parameters.yml
默认情况下,这将创建一个名为target的文件夹(可以使用-t option进行更改)。其中有一个名为config的文件夹,其中包含生成的完整配置文件(target/config/preset.yml)准备用来建立网络。
注意:
如果您在尝试连接到Docker daemon socket时遇到Permission denied错误,则表示您的用户不属于Docker组。添加:
sudo addgroup $USER docker
构建网络和节点
此命令根据提供的配置准备必要的Docker文件:
symbol-bootstrap compose
它只需要运行一次。
运行Network
最后,执行此命令启动必要的Docker实例并引导网络:
symbol-bootstrap run
注意:
要在终端的后台运行docker容器,可以使用 –detach or -d 选项运行服务。、
一站式启动命令
以上三个命令(config、compose和run)可以合并为一个:
symbol-bootstrap start -p <preset> -a <assembly>
没错,一个测试网络或节点可以用一个命令实例化和引导!