-
Notifications
You must be signed in to change notification settings - Fork 40
CRUST Maxwell CC2 测试网节点手册
- 概述
- 硬件环境
-
Crust 账户
3.1 创建 stash 账户
3.2 创建 controller 账户
3.3 建立 controller 和 stash 的绑定关系 -
软件环境
4.1 BIOS 设置
4.2 下载 crust-node 安装包
4.3 安装Crust服务 - 程序配置
- 启动Crust服务
- 参与 GPoS
-
参与存储市场(可选)
8.1 固定公网要求(可选)
8.2 Fastdfs 配置
8.3 修改软件配置
8.4 Karst 启动
8.5 保证金, 注册, 接单 - 节点重启
在本教程中,我们将介绍如何成为一个 Validator/Candidate(验证者/候选人)和 Merchant(存储供应商),从而在 Crust 网络中获得相应的收益。具体包括硬件设备的推荐,操作系统的设定,各项应用的启动,以及 APPs 的使用等,让你成功加入 Crust Maxwell CC2 测试网络。本教程需要一定的 Linux 基础,请一定按照教程步骤,不要跳过任何一步。如有疑惑请联系 Crust 官方。
推荐配置信息 | |
---|---|
节点服务器 | 英特尔 酷睿 i5-9600KF 处理器(支持SGX,其他芯片具体可以查询intel官网),如果 SGX 只支持 software enabled 方式,参考这个链接https://github.com/intel/sgx-software-enable;西数512G固态盘 (做系统盘,存放节点数据);8G 内存或以上;希捷监控级硬盘8TB 酷鹰系列 7200转256M 若干,建议8块(做存储盘, 存放服务数据); |
操作系统 | Ubuntu 16.04/18.04 |
网络带宽 | 100M,稳定 |
注意: 在开始之前需要检测您的 CPU 是否支持 SGX
脚本检测: https://github.com/crustio/crust/wiki/Check-TEE-supportive
官网查询: https://shimo.im/docs/yRcDKGYv8Rxwp6GV/
Crust 账户是你链上的身份的体现,也是各类交易的主体。作为节点,你需要对应的账户来和节点进行绑定,从而获取区块奖励。Crust 账户作为标准的双账户模型 Controller/Stash,需要进行特定的账户绑定操作,通过操作Crust Apps,本节将说明如何创建账号和绑定账号关系。
在导航栏中点击 “Accounts” 下的 “账户”。然后点击“添加账户“
输入账号名称以及密码,点击 “保存”,账号将被默认备份在您的设备上。
我们将第一个新建的账号 用做 Stash 账号。Stash 账号是用户的资产账号,用来管理用户的资产。账户里面需要有一定数量的 CRU 进行后续的各类交易和资产抵押等操作。
重复新建账号步骤,再次创建另一个账号。
我们将新账号命名为 CONTROLLER 用来提醒自己,这个账号将用做 Controller,用于操作资产。账户里面需要有一定数量的 CRU 用于支付各类交易的交易费。
点击导航栏的“Network”下的“质押”。选中“账户操作”
点击右上角的 “存储账户”,并在弹出页面中选择 Stash 和 Controller 账户,填入需要抵押的金额(这里的金额代表许可 Controller 账户操作的金额),最后点击 “抵押”。
抵押操作涉及链上操作,因此需要解锁 Stash 账户并消耗一定手续费。
最后,抵押成功了,可以看到在“账户操作”页面里新增了一个抵押关系。
到目前为止,您的账户配置已经完成。
一般来说,机器的 SGX 模块的默认关闭的,我们需要在机器的 BIOS 设置。首先将 BIOS SGX 开关设置为 enable,同时把 Secure Boot 关闭(部分主板没有)。
- 下载:
wget https://github.com/crustio/crust-node/archive/v0.6.0.tar.gz
- 解压
tar -xvf v0.6.0.tar.gz
- Enter installation directory:
cd crust-node-0.6.0
执行如下命令安装crust服务,过程中涉及到下载相关依赖和docker images的操作,会比较耗时,并有可能因为网络的问题失败,如发生,请重复执行该操作直到安装完成。
sudo ./install.sh
注:配置文件中使用的端口如果没有被占用,可使用默认配置
a. 开始编辑
sudo vim /opt/crust/crust-node/config.yaml
b. 修改 config.yaml 中 “backup” 和 “password” 的值 ( “backup”为 controller 账户创建时备份的文件内容,“password” 为 controller 账户密码) 格式如下:
c.修改 config.yaml 中 该节点在 crust chain 中的 name
d. 修改 SRD(Sealed random data)的路径和容量
这里简单的介绍下 SRD,程序通过 SGX 内部的随机算法生成文件暂时填充 srd_paths 下面的硬盘空间,然后此空间将作为预留空间上报到 Crust 网络,这个将决定你链上可以被别人担保的上限,也决定你可以接单的量。格式如下(需为绝对路径):
这几行配置代表:
- 程序将在 /harddisk1与/harddisk2 这两个目录下(需要配置不同硬盘下的目录,关于如何挂载硬盘请自行了解)进行 SRD 操作。例如,有两个硬盘 A 和 B 分别挂载到了 /harddisk1与/harddisk 2 两个目录,这时,就如上图这样配置。
- srd_init_capacity 指的是一共 SRD 2000G 的随机文件。
a. 启动命令
sudo systemctl start crust
b. 检测crust服务启动状态
sudo systemctl status crust
如下表示crust服务成功启动:
c. 监控
监控命令:
sudo docker logs build_crust-sworker_1 -f
监控日志如下:
1.表示区块正在同步中
2.成功在链上注册sworker身份
注意:如果监控日志出现“[ERROR] {"action":"identity","status":"error","message":"1010":Invalid Transaction:Transaction has a bad signature"}”表示注册失败,需手动执行“sudo systemctl reload crust”重启服务
3.swoker正在进行srd操作
4.表示workreport上报成功
d. 获取 session key
curl -H "Content-Type: application/json" -d '{"id":1, "jsonrpc":"2.0", "method": "author_rotateKeys", "params":[]}' http://localhost:9933
结果如下,红框里面是得到的session key:
进入Crust Apps,点击导航栏的“Network”下的“质押”。选中“账户操作”,选择“Change session keys”,右侧选择“设置setKeys”,填入上面得到的sessionkey,然后发送交易
e. 开放链端口
sudo ufw allow 30333
执行 “成为验证人” 操作。
等到下个 era,能够查询到在 “质押概览” 或在 “等待中” 列表中,代表操作成功。
如果你希望为全网用户提供存储服务,从而接到更多的存储订单,固定公网IP地址是推荐的选择。如果你没有固定公网IP,可以参考这篇frp内网穿透的文章。
确保本地已经启动 fastdfs, 注意 fastdfs storage 的存储路径需与 sWorker 配置的SRD路径一一对应,安装 fastdfs 请参考这个链接 。假设配置好的 fastdfs tracker端口为 22122, strorage端口是23000。执行端口开放命令:
sudo ufw allow 22122
sudo ufw allow 23000
打开配置:
sudo vim /opt/crust/crust-node/config.yaml
修改node.karst为enable,修改 tracker_addrs为fdfs tracker的地址
再次运行生成配置文件脚本
sudo /opt/crust/crust-node/scripts/gen_config.sh
如下日志表示生成配置文件成功
再次进入 build 目录:
cd /opt/crust/crust-node/build
启动 karst:
sudo docker-compose up -d karst
a. 设置保证金
进入Crust Apps,菜单栏选择“开发者”下的“交易”,第一个白框选择 Controller 账户,第二个白框左侧选择 market,右侧选择 pledge,第三个白框填写你要抵押的 CRU 数量,然后点击右下角的 Submit Transctions 发送交易:
b. 注册地址
注意: 这里的地址注册是短期方案,未来会用去中心化的方法完成地址发现。
条件 1 :对应账户有 work report(Controller 账户)
条件 2 :Controller 账户有保证金(保证金额度决定接单能力)
sudo docker exec -it build_karst_1 /bin/bash -c 'karst register ws://162.168.50.7:17000 100'
上述命令参数说明:
1、 “ws://162.168.50.7:17000” 为 karst 对外暴露的地址,请修改为自己本地外网地址, 比如外网地址为 162.168.50.7,
2、 “100” 数值的单位为 pico(1 CRU = 10*12 pico),表示存储 1MB 大小文件存储 1min 收费的 CRU 数量, 数额自行设置,最小单位为 40 pico。
c. 开启端口,准备接单
sudo ufw allow 17000
如果机器需要重新启动,或者因为任何情况需要重启 Crust 节点相关程序,请参考下列步骤进行。请注意:本小节仅包括 Crust 节点相关程序的启动步骤,不包括机器基本软硬件环境设置和检查的相关内容,比如硬盘挂载、frp 内网穿透、FastDFS 等。请在保证软硬件系统正常的情况下进行下列步骤
sudo systemctl reload crust
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