-
Notifications
You must be signed in to change notification settings - Fork 39
Crust 激励测试网多节点手册
在本教程中,我们将介绍如何成为一个 Validator/Candidate(验证者/候选人)和 Merchant(存储供应商),从而在 Crust 网络中获得相应的收益。具体包括硬件设备的推荐,操作系统的设定,各项应用的启动,以及 APPs 的使用等,让你成功加入 Crust激励测试网络。本教程需要一定的 Linux 基础,请一定按照教程步骤,不要跳过任何一步。如有疑惑请联系 Crust 官方。
在多点形态下,你的机器将被分为两类,分别是服务节点和存储节点,采用1+N的拓扑结构,及一个服务节点对应N个存储节点:
- 服务节点:负责运行链模块并参与出块,类似波卡生态的 Kusama 网络或者其他项目,我们强烈推荐出块节点使用固定的公网 IP,否则会因为出块不稳定等情况带来损失。如有需要,该类节点也可以配置在云计算机中。
- 存储节点:负责运行链模块(full节点,不参与出块)以及存储量模块, 这类节点需要拥有SGX的环境。该类节点可以横向扩展,在激励测试网阶段,一个链账户可以支持最多10个存储节点。
多节点形态拓扑图如下:
详细配置要求和推荐,请参考官方硬件spec。
请参考Crust账户手册
a. 下载
wget https://github.com/crustio/crust-node/archive/v0.7.0.tar.gz
b. 解压
tar -xvf v0.7.0.tar.gz
c. 进入安装目录
cd crust-node-0.7.0
安装前的注意点:
1,程序将会被安装在/opt/crust路径下,请确保该路径有大于100G的固态硬盘空间;
2,如果之前运行过 Crust 的非激励测试链,请把程序关闭并将数据清除后再执行安装,具体请参考8.2小节;
3,安装过程中涉及到下载相关依赖和 docker images 的操作,会比较耗时,并有可能因为网络的问题失败,如发生,请重复执行该操作直到安装完成;
安装命令:
sudo ./install.sh --registry cn
执行以下命令编辑节点配置文件
sudo vim /opt/crust/crust-node/config.yaml
将“node.sworker”修改为“disable”
修改 config.yaml 中 “name” 值,该值代表节点在 Crust 链中的名字,可随意命名(不能有空格):
首先需要,确保以下接口是未被占用:30888 19944 19933 然后开放链的P2P端口,命令如下:
sudo ufw allow 30888
启动命令如下:
sudo crust start
执行下面语句查看crust运行状态:
sudo crust status
如下上面链服务运行表示启动成功:
该小结只针对存储节点,机器的 SGX(Software Guard Extensions) 模块的默认关闭的,需要在机器的 BIOS 设置。首先将 SGX 开关设置为 enable,同时把 Secure Boot 关闭(部分主板没有)。如果 SGX 只支持 software enabled 方式,参考这个链接https://github.com/intel/sgx-software-enable
a. 下载
wget https://github.com/crustio/crust-node/archive/v0.7.0.tar.gz
b. 解压
tar -xvf v0.7.0.tar.gz
c. 进入安装目录
cd crust-node-0.7.0
安装前的注意点:
- 程序将会被安装在/opt/crust路径下,请确保该路径有大于100G的固态硬盘空间
- 如果之前运行过 Crust 的非激励测试链,请把程序关闭并将数据清除后再执行安装,具体请参考7.2小节
- 安装过程中涉及到下载相关依赖和 docker images 的操作,会比较耗时,并有可能因为网络的问题失败,如发生,请重复执行该操作直到安装完成
安装命令:
sudo ./install.sh --registry cn
在执行以下命令编辑节点配置文件
sudo vim /opt/crust/crust-node/config.yaml
多节点的方式,支持一个服务节点对应最多10个存储节点的拓扑,请为这些存储节点配置相同的账户身份。修改 config.yaml 中“backup”和“password”的值 ,其中 “backup”为 controller 账户创建时备份的文件内容,“password” 为 controller 账户密码,格式如下:
修改 config.yaml 中 “name” 值,该值代表节点在 Crust 链中的名字,可随意命名(不能有空格):
通过修改 “srd_paths” 和 “srd_init_capacity” 来配置节点存储的路径和容量。存储容量将作为预留空间上报到 Crust 网络,这个将决定你链上可以被别人担保的上限,也决定你可以接单的量,单节点最多可以配置200TB的预留空间。
举个例子,假设你的两个硬盘A, B的挂载路径分别为 /harddisk1 与 /harddisk2,他们的剩余空间分别为1500G与600G。你可以如下配置参数,将“srd_paths” 设置为 /harddisk1 与 /harddisk2(需为绝对路径) ,将 “srd_init_capacity” 设置为2000G。这样配置启动后,你上报的存储预留容量会为2000G。具体配置如下:
首先需要,确保以下接口是未被占用:30888 19944 19933 (crust chain所需),56666 (crust API所需),12222 (crust sWorker所需)。然后开放链的P2P端口,命令如下:
sudo ufw allow 30888
启动命令如下:
sudo crust start
执行下面语句查看crust运行状态:
sudo crust status
如下上面三个服务运行表示启动成功:
通过以下监控命令进行监控,ctrl-c结束监控:
sudo crust logs sworker
监控日志如下:
- 表示区块正在同步中,该过程比较用时
- 成功在链上注册身份
- 正在进行存储余量统计操作,改过程会逐步进行
- 表示工作量上报成功,该过程比较用时
进入服务节点执行以下命令:
sudo crust tools rotate-keys
结果返回的就是该节点的session key, 请复制,下小结将会使用,如下所示:
进入CRUST APPs,点击导航栏的“网络”下的“质押”。选中“账户操作”,选择“更改session密钥”,填入7.1节得到的sessionkey,右侧点击“设置setKeys”
进入 Crust APPs,执行 “成为验证人/更改验证人偏好” 操作。
等到下个 era,能够查询到在 “质押概览” 或在 “等待中” 列表中,代表操作成功。
如果机器需要重新启动,或者因为任何情况需要重启 Crust 节点相关程序,请参考下列步骤进行。请注意:本小节仅包括 Crust 节点相关程序的启动步骤。请在保证软硬件系统正常的情况下进行下列步骤
sudo crust reload
如果你运行过老版本的测试链或者想重新部署,默认情况下需要清除三处数据, Crust的基础数据会被默认放在/opt/crust/data中,请清除其中的文件 占位数据存储在你之前配置的“srd_paths”中,请清除其中的数据 Node数据存储在/opt/crust/crust-node中,请执行以下命令进行卸载(注:卸载之前注意备份/opt/crust/crust-node/config.yaml配置文件)
sudo /opt/crust/crust-node/scripts/uninstall.sh
Follow us to get latest information of Crust Network
- Twitter: https://twitter.com/CrustNetwork
- Telegram: https://t.me/CrustNetwork
- Medium: https://medium.com/@crustnetwork
- WeChat: crust_kele