Crust Wiki

Crust Wiki

  • 文档
  • Shadow
  • 贡献
  • Languages icon中文
    • English
    • Help Translate

›节点

概览

  • Crust 概述
  • Crust Grants
  • Crust 生态成长计划
  • CRU 认领
  • 锁定的CRU 认领
  • 锁定的CRU 解锁
  • Bridge

    • Ethereum Bridge
    • Elrond Bridge
  • Crust 钱包
  • Crust 术语
  • CRU18 担保
  • 参数表
  • 贡献

学习

  • 账户
  • Crust 通证
  • 新增绑定
  • 担保人
  • 验证人
  • GPoS
  • sWorker

    • 概览
    • 入网
    • 工作量
  • 去中心化存储市场
  • 存储商户
  • 链上身份
  • 链上治理指南

构建

  • Builder's Portal
  • Crust Storage 101
  • Basics

    • Developer faucet
    • Crust Rocky Network
    • 代码示例:使用Crust存储文件
    • Store file with Crust IPFS Pinning Service API

    Crosschain Storage Solution

    • 基于XCMP的跨链存储解决方案
    • 基于平行链的跨链存储解决方案
    • 基于原生IPFS的跨链存储解决方案
    • 基于智能合约的跨链存储解决方案

    Integration Guide

    • DApp的部署和运行
    • NFT数据存储
    • 内容存储与分发

    Node Guide

    • Crust 节点
    • Crust Storage Manager

    Toolkits

    • Crust Pinner Github Action
    • Crust Pinner NPM Package
    • IPFS W3Auth Gateway
    • IPFS W3Auth Pinning Service

基于EVM构建

  • Overview
  • Build With EVM 101
  • Chains

    • Ethereum
    • Optimism
    • Arbitrum
    • zkSync

    Toolkits

    • SDK

基于Algorand构建

  • Overview
  • Build With Algorand 101
  • Algorand applications

基于TON构建

  • Overview
  • Build With TON 101
  • TON applications

节点

  • 节点概要
  • 节点硬件指南
  • Owner 节点
  • Member 节点
  • Isolation 节点
  • 验证人指南
  • 担保人指南
  • sWorker 版本
  • 节点权益
  • 配置 QoS

存储

  • 概览
  • 存储用户指南
  • 存储商户指南
  • 存储订单清算指南
  • 存储市场权益
  • 使用Crust Apps 存储的问题

Q&A

  • 基础知识
  • 验证人和候选人
  • 担保人
  • 奖励和惩罚
  • 节点基本问题
  • Member节点相关
  • 组相关
  • 修复不稳定链
  • 应用
  • EPID & ECDSA
  • 其它
Translate

Isolation 节点

1. 概述

1.1 功能职责

Isolation节点是Crust的全功能节点,其承担了出块,存储,文件传输等核心功能,相当于Owner和Member节点处于同一台机器。所以,对SGX的支持是必不可少的。而账户是通过session key与运行的链程序进行互联,参与出块的。存储信息的上报是是通过配置backup的形式进行关联的。

1.2 硬件环境

Isolation节点形态下,你唯一的节点上需要运行链模块以及存储量模块,所以对SGX的支持是必不可少的。同时,由于出块进程以及存储工作量上报进程对网络稳定性要求比较高,我们强烈推荐出块节点使用固定的公网 IP,否则会因为出块不稳定等情况带来损失。详细配置要求和推荐,请参考官方硬件spec。

2 基础工作

2.1 构建账户

注意:Crust主网账号一定是以'c'开头

节点负责参与出块竞争,要生成并绑定Controller&Stash账户组和创建一个Member账户,共3个账户,具体参考这里进行账户组的创建和这里创建Member账户。这3个账户需要满足以下要求:

  • 需要保证Controller&Stash留有少量的未被Lock的CRU用于发送各类交易(约1CRU)
  • 确保Member账户拥有2~5个CRU作为交易费(不能被锁住),用于work report的发送,同时建议隔一段时间检查下剩余情况
  • 确保账户的唯一性
  • 如果要使用Maxwell网络上的账户,需要将备份文件导入到主网APPs并重新导出新版备份文件

2.2 创建Group

创建Group的账号必须是绑定好的Stash账号

进入Crust APPS中,选择Benefit,点击Create group,选择Owner的Stash账号,点击Create,输入Stash账户密码,最后点击Sign and Submit发送交易创建Group。

图片 图片

2.3 BIOS 设置

一般来说,机器的 SGX(Software Guard Extensions) 模块是默认关闭的,需要在机器的 BIOS 设置,首先将SGX 开关设置为 enable,同时把Secure Boot 关闭(部分主板没有)。如果 SGX 只支持 software enabled 方式,参考这个链接https://github.com/intel/sgx-software-enable,或使用以下命令:

wget https://github.com/crustio/crust-node/releases/download/sgxenable-1.0.0/sgx_enable && sudo chmod +x sgx_enable && sudo ./sgx_enable

2.4 下载Crust node安装包

a. 下载

wget https://github.com/crustio/crust-node/archive/v2.0.4.tar.gz

b. 解压

tar -xvf v2.0.4.tar.gz

c. 进入安装目录

cd crust-node-2.0.4

2.5 安装Crust服务

安装前的注意点:

  • 程序将会被安装在/opt/crust路径下,请确保系统盘有大于2TB的固态硬盘空间。如果不希望使用系统盘,而使用其他的固态硬盘,请事先创建/opt/crust目录,并将该固态挂在到这个目录,注意目录读写权限
  • 如果之前运行过 Crust 的其他测试链,请把程序关闭并将数据清除后再执行安装,具体请参考6.2小节
  • 安装过程中涉及到下载相关依赖和 docker images 的操作,会比较耗时,并有可能因为网络的问题失败,如发生,请重复执行该操作直到安装完成

安装命令:

sudo ./install.sh --registry cn

3. 节点设置

3.1 开始编辑

执行以下命令编辑节点配置文件

sudo crust config set

3.2 修改节点名

按照提示输入节点的名字,按回车结束:

图片

3.3 选择节点模式

按照提示输入节点模式isolation,按回车结束:

图片

3.4 配置Member账户

将Member账户的backup文件内容输入到终端,具体操作为:拷贝Member账户创建时备份的文件内容,复制到终端,输入回车键。backup文件内容输入效果如下图所示:

图片

注意 1:Crust主网账号一定是以'c'开头,比如上图中"address"值就是一个Crust主网账号。

注意 2:这个备份文件以及其内容是您账户的凭证,非常重要,请勿泄露或遗失。

按提示输入password内容,回车键结束:

图片

3.5 Config sWorker Attestation Mode

按照提示输入sworker认证模式,一般来说使用默认值即可(参考EPID & ECDSA了解更多信息),直接按回车键结束:

pic

3.6 配置硬盘

硬盘组织方式不唯一,如果有更好的方案可以自行优化

Crust作为去中心话存储网络,硬盘的配置尤为重要。节点存储容量将作为预留空间上报到 Crust 网络,这个将决定你链上可以被别人担保的上限,也决定你可以接单的量

硬盘挂载要求:

  • 接单的文件和SRD占位文件将会被写入/opt/crust/disks/1 ~ /opt/crust/disks/128目录下,这取决于你挂载硬盘的方式。每台物理机最多可以配置500TB的预留空间
  • 挂载完毕后请注意目录的读写权限

机械硬盘组织方式不唯一,如果有更好的方案可以自行优化

  • 单一机械硬盘:直接挂载到/opt/crust/disks/1即可
  • 多个机械硬盘(多目录):分别将硬盘挂载到/opt/crust/disks/1 ~ /opt/crust/disks/128目录。举个例子,假设有三块硬盘/dev/sdb,/dev/sdc和/dev/sdd,则可以将他们分别挂载到/opt/crust/disks/1,/opt/crust/disks/2, /opt/crust/disks/3目录。这种方式的效率相对比较高,方式也比较简单,但硬盘的容错性会降低
  • 多个机械硬盘(单目录):对于稳定性不佳的硬盘,利用RAID/LVM/mergerfs等手段将硬盘组合,并挂载到/opt/crust/disks/1目录不失为一种选择。这种方式可以增加硬盘的容错性,但也会带来效率上的下降
  • 多个机械硬盘(混合):结合单目录和多目录的方式进行挂载
sudo crust tools space-info

4. 节点启动

4.1 准备

首先需要,确保以下接口是未被占用:30888 19944 19933 (crust chain所需),56666 (crust API所需),12222 (crust sWorker所需), 5001 4001 37773 (IPFS所需)

然后开放链的P2P端口,命令如下:

sudo ufw allow 30888

4.2 启动

启动命令如下:

sudo crust start

4.3 检查运行状态

执行下面语句查看crust运行状态:

sudo crust status

如下上面五个服务运行表示启动成功:

图片

4.4 设置节点存储容量并运行SRD

请等待2分钟后执行.

1 假设机械硬盘有空间1000G, 就如下设置,sWorker会预留一些空间并自动判断SRD的大小:

sudo crust tools change-srd 1000

2 这些命令有可能会执行失败,这是由于sworker还没有完全启动,请等待几分钟之后再尝试,如果依旧不行,请执行下属监控命令排查错误情况:

sudo crust logs sworker

4.5 监控

通过以下监控命令进行监控,ctrl-c结束监控:

sudo crust logs sworker

监控日志如下:

  • 表示区块正在同步中,该过程耗时较长(1)
  • 成功在链上注册身份(2)
  • 正在进行存储余量统计操作,该过程会逐步进行(3)
  • 表示工作量上报成功, 该过程耗时较长,大约一小时左右(4)

pic

pic

5. 加入Group

5.1 添加白名单

Member账户需要添加到Group的白名单后才能加入Group中。进入Crust APPS中,选择Account,选择Benefit模块,找到之前创建的组,点击Add allowed accounts,如下:

图片

选择需要加入组的Member账户,点击Submit并发送交易,将该账户加入Group的白名单 图片

5.2 加组

等待第一次上报work report后(一般是同步块到最高后再等一小时,可以通过swoker的log进行查询,或查询链上状态),选择Benefit,点击Join group,选择需要加组的Member账户和创建Group的Stash账户,点击Join group,输入Member账户密码,最后点击Sign and Submit发送交易

图片 图片

5.3 锁定CRU减免工作量手续费

主网的工作量上报需要手续费。一般情况下,每个Member每天会进行24次工作量上报交易,这带来的大量的手续费开销。为此Crust网络提供了免除工作量上报费用的Benefit模块,Group owner可以通过锁定CRU的方式,减免Member的手续费。每个Member需要锁定18CRU来进行手续费减免,但考虑到存在工作量上报不稳定的情况,建议锁定24CRU~30CRU来确保手续费的完全免费。

进入Crust APPS中,选择Account,选择Benefit模块,找到之前创建的组,点击Increase lockup,如下:

图片

输入需要增加的CRU数量,并进行签名交易,如下:

图片

6 参与出块

6.1 获取session key

等待链同步到最新块高,执行以下命令:

sudo crust tools rotate-keys

结果返回的就是该节点的session key, 请复制,下小结将会使用,如下所示: 图片

6.2 设置session key

进入CRUST APPs,点击导航栏的“Network”下的“Staking”。选中右侧的配置的三个点,选择“Change session key”

图片

填入上小节得到的sessionkey,右侧点击“Set session key”

图片

6.3 成为验证人/候选人

成为验证人需要肩负维护网络的责任,大规模的掉线会导致一定程度的处罚(最高约质有效质押量的7%)

进入Crust APPs,执行 “Be Validator” 操作。

图片

等到下个 era,能够查询到在 “Staking” 或在 “Waiting” 列表中,代表操作成功。

图片

7. 重启与卸载

7.1 重启

如果机器需要重新启动,或者因为任何情况需要重启 Crust 节点相关程序,请参考下列步骤进行。请注意:本小节仅包括 Crust 节点相关程序的启动步骤,不包括机器基本软硬件环境设置和检查的相关内容,比如硬盘挂载、frp 内网穿透、IPFS等。请在保证软硬件系统正常的情况下进行下列步骤

sudo crust reload

7.2 数据清除与卸载

如果你运行过老版本的测试链或者想重新部署,默认情况下需要清除三处数据,

  • Crust的基础数据会被默认放在/opt/crust/data和/opt/crust/disks中,请清除其中的文件
  • Node数据存储在/opt/crust/crust-node中,请执行以下命令进行卸载
sudo /opt/crust/crust-node/scripts/uninstall.sh
← Member 节点验证人指南 →
  • 1. 概述
    • 1.1 功能职责
    • 1.2 硬件环境
  • 2 基础工作
    • 2.1 构建账户
    • 2.2 创建Group
    • 2.3 BIOS 设置
    • 2.4 下载Crust node安装包
    • 2.5 安装Crust服务
  • 3. 节点设置
    • 3.1 开始编辑
    • 3.2 修改节点名
    • 3.3 选择节点模式
    • 3.4 配置Member账户
    • 3.5 Config sWorker Attestation Mode
    • 3.6 配置硬盘
  • 4. 节点启动
    • 4.1 准备
    • 4.2 启动
    • 4.3 检查运行状态
    • 4.4 设置节点存储容量并运行SRD
    • 4.5 监控
  • 5. 加入Group
    • 5.1 添加白名单
    • 5.2 加组
    • 5.3 锁定CRU减免工作量手续费
  • 6 参与出块
    • 6.1 获取session key
    • 6.2 设置session key
    • 6.3 成为验证人/候选人
  • 7. 重启与卸载
    • 7.1 重启
    • 7.2 数据清除与卸载
Docs
Getting StartedCRU ClaimsWebsite Hosting with CrustNFT Data Storage with Crust
Community
DiscordTwitterTelegram
More
CooperationGitHub
Copyright © 2025 Crust Network