查看原文
其他

教程|Crust Maxwell CC2 测试网节点手册

小脆皮 Crust分布式云 2020-11-11
“Crust 实现了去中心化存储的激励层协议,适配包括 IPFS 在内的多种存储层协议,并对应用层提供支持。同时 Crust 的架构也有能力对去中心化计算层提供支持,构建分布式云生态。”



 目录 

1. 概述
2. 硬件环境
3. Crust 账户
   3.1. 创建 Stash 账户
   3.2. 创建 Controller 账户
   3.3 建立 Controller 和 Stash 的绑定关系
4.软件环境
   4.1 BIOS 设置
   4.2 下载 Crust-Node 安装包
   4.3 安装 Crust 服务
5. 程序配置
6. 启动 Crust 服务
7. 参与 GPoS
8. 参与存储市场(可选)
   8.1 固定公网要求(可选)
  8.2. Fastdfs 配置
   8.3. 修改软件配置
   8.4. Karst 启动
   8.5. 保证金, 注册, 接单
9. 节点重启

 
1 概述
 
在本教程中,我们将介绍如何成为一个 Validator/Candidate(验证者/候选人)和 Merchant(存储供应商),从而在 Crust 网络中获得相应的收益。具体包括硬件设备的推荐,操作系统的设定,各项应用的启动,以及 APPs 的使用等,让你成功加入 Crust Maxwell CC2 测试网络。本教程需要一定的 Linux 基础,请一定按照教程步骤,不要跳过任何一步。如有疑惑请联系 Crust 官方。

 
2  硬件环境
        

推荐配置信息
节点服务器
英特尔 酷睿 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/
 

3 Crust 账户
 
Crust 账户是你链上的身份的体现,也是各类交易的主体。作为节点,你需要对应的账户来和节点进行绑定,从而获取区块奖励。Crust 账户作为标准的双账户模型 Controller/Stash,需要进行特定的账户绑定操作,通过操作 Crust APPs(链接:https://apps.crust.network/),本节将说明如何创建账号和绑定账号关系。
 

3.1 . 创建 Stash 账户

 
在导航栏中点击 “Accounts” 下的 “账户”,然后点击“添加账户“
       
输入账号名称以及密码,点击 “保存”,账号将被默认备份在您的设备上。
              
我们将第一个新建的账号  用做 Stash 账号。Stash 账号是用户的资产账号,用来管理用户的资产。账户里面需要有一定数量的 CRU 进行后续的各类交易和资产抵押等操作。
 

3.2  创建 Controller 账户

 
重复新建账号步骤,再次创建另一个账号。
       

我们将新账号命名为 Controller 用来提醒自己,这个账号将用做 Controller,用于操作资产。账户里面需要有一定数量的 CRU 用于支付各类交易的交易费。
 

3.3  建立 Controller 和 Stash 的绑定关系

 
点击导航栏的“Network”下的“质押”,选中“账户操作”。
         

点击右上角的 “存储账户”,并在弹出页面中选择 Stash 和 Controller 账户,填入需要抵押的金额(这里的金额代表许可 Controller 账户操作的金额),最后点击 “抵押”
              
抵押操作涉及链上操作,因此需要解锁 Stash 账户并消耗一定手续费。
       

最后,抵押成功了,可以看到在“账户操作”页面里新增了一个抵押关系。
       

到目前为止,你的账户配置已经完成。
 
 
4 软件环境
 

4.1  BIOS 设置


一般来说,机器的 SGX 模块的默认关闭的,我们需要在机器的 BIOS 设置。首先将 BIOS SGX 开关 设置 Enable,同时把 Secure Boot 关闭(部分主板没有)。
 

4.2 下载  Crust-Node  安装包

 
下载
wget https://github.com/crustio/crust-node/archive/v0.6.0.tar.gz
 
解压
tar -xvf v0.6.0.tar.gz
 
进入安装目录
cd crust-node-0.6.0
 

4.3 安装 Crust 服务

执行如下命令安装crust服务,过程中涉及到下载相关依赖和docker images的操作,会比较耗时,并有可能因为网络的问题失败,如发生,请重复执行该操作直到安装完成。
sudo ./install.sh
 

5 程序配置

 注:配置文件中使用的端口如果没有被占用,可使用默认配置 

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 网络,这个将决定你链上可以被别人担保的上限,也决定你可以接单的量。格式如下(需为绝对路径):
              
这几行配置代表:
 
1. 程序将在 /harddisk1与/harddisk2 这两个目录下(需要配置不同硬盘下的目录,关于如何挂载硬盘请自行了解)进行 SRD 操作。例如,有两个硬盘 A 和 B 分别挂载到了 /harddisk1与/harddisk  2 两个目录,这时,就如上图这样配置。
 
2. srd_init_capacity 指的是一共 SRD 2000G 的随机文件。


6  启动 Crust 服务
 
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(链接:https://apps.crust.network/),点击导航栏的“Network”下的“质押”。选中“账户操作”,选择“Change session keys”,右侧选择“设置 setKeys”,填入上面得到的 sessionkey,然后发送交易
                            
e. 开放链端口
sudo ufw allow 30333


7  参与 GPoS
 
等待 1 到 2 个 era 后 (Work Report 上报成功),进入 Crust APPs(链接:https://apps.crust.network),上方菜单栏选择 “开发者” 标签,下拉选择 “链状态”,第二行选择你的 Stash 账户,然后点击右侧“+”号查询 Stake Limit。
         
当上面步骤查询返回结果非 0 时,如下图所示,执行 “成为验证人” 操作。
              
等到下个 era,能够查询到在 “质押概览” 或在 “等待中” 列表中,代表操作成功。
       
   

8  参与存储市场(可选)

8.1 固定公网要求(可选)

 
如果你希望为全网用户提供存储服务,从而接到更多的存储订单,固定公网IP地址是推荐的选择。如果你没有固定公网 IP,可以参考这篇 frp 内网穿透的文章。
 

8.2  Fastdfs 配置

 
确保本地已经启动 Fastdfs, 注意 Fastdfs storage 的存储路径需与 sWorker 配置的 SRD 路径一一对应,安装 Fastdfs 请参考这个链接 https://blog.csdn.net/weixin_40944846/article/details/107977664。假设配置好的 Fastdfs Tracker 端口为  22122, Strorage 端口是 23000。

执行端口开放命令:
sudo ufw allow 22122
sudo ufw allow 23000
 

8.3  修改软件配置

 
打开配置:
sudo vim /opt/crust/crust-node/config.yaml
 
修改 node.karst为enable,修改 tracker_addrs 为 fdfs tracker 的地址
              
      
 
再次运行生成配置文件脚本
sudo /opt/crust/crust-node/scripts/gen_config.sh
 
如下日志表示生成配置文件成功
        

8.4  Karst 启动


再次进入 build 目录:
cd /opt/crust/crust-node/build
 
启动 karst:
sudo docker-compose up -d karst
 

8.5 保证金, 注册, 接单

 
a. 设置保证金,进入 Crust APPs(链接:https://apps.crust.network/),菜单栏选择“开发者”下的“交易”,第一个白框选择 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

 
9 节点重启

如果机器需要重新启动,或者因为任何情况需要重启 Crust 节点相关程序,请参考下列步骤进行。

请注意:本小节仅包括 Crust 节点相关程序的启动步骤,不包括机器基本软硬件环境设置和检查的相关内容,比如硬盘挂载、frp 内网穿透、FastDFS 等。请在保证软硬件系统正常的情况下进行下列步骤。
 
执行:sudo systemctl reload crust


关于 Crust

Crust 实现了去中心化存储的激励层协议,适配包括 IPFS 在内的多种存储层协议,并对应用层提供支持。同时 Crust 的架构也有能力对去中心化计算层提供支持,构建去中心化云生态。

集成了钱包、Staking 和云存储等功能的综合平台 Crust Cloud 测试版即将上线,目前已上线了公开测试网 Maxwell 1.0,欢迎各位加入测试体验。Crust Network 先后加入 Substrate Builders Program、Web3.0 Bootcamp,以及获得 Web3 基金会 Grant 。


Crust 相关:


Crust 技术白皮书 v1.9.3 版
Crust Network 经济白皮书草案公布
Crust 经济白皮书第 1 期 · 概述
Crust 经济白皮书第2期·参与方
Crust 经济白皮书第 3 期·经济模型
一文快速了解 Crust Network 分布式云



官网:https://crust.network/ 
 Twitter:@CrustNetwork
 Medium:https://medium.com/@crustnetwork
 GitHub:https://github.com/crustio
 Telegram:https://t.me/CrustNetwork

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存