Node运营商+域搭建教程中文版

有时候帖子权限会没有修改权限,有最新更新会放在2楼,请先拉到最下面看看有没有更新

官方的教程不太明确所以我写一个中文教程来介绍一下运营商

首先 运营商是什么?

运营商在Subspace网络中扮演重要角色,主要负责提交和执行交易。他们将交易打包成捆并提交到共识链,同时执行共识块中包含的交易并维护相应的链状态。运营商需要较高的硬件要求,必须具备较强的计算能力来处理复杂的交易。此外,运营商需要抵押一定数量的SSC作为担保,以确保他们的行为是诚实的,恶意行为将导致抵押被削减,从而提供加密经济安全。
用我的理解简单说明就是 很类似于L2的和第三方等角色,他是为了兼容其他,比如ETH虚拟机和其他功能等存在的,
比如现在开放的nova域,是为了兼容EVM虚拟机,在运营商的交易也会打包提交给主链,质押行为是为了避免运营商作恶和防止一些恶意行为

配置要求

CPU

  • 兼容性:x86-64
  • 推荐型号:Intel Ice Lake或更新(Xeon或Core系列);AMD Zen3或更新(EPYC或Ryzen)
  • 核心数量:4个物理核心,主频3.4GHz
  • 超线程技术:禁用(Intel的Hyper-Threading,AMD的SMT)
  • 优先考虑单线程性能:单线程性能比核心数量更重要

存储

  • 类型:NVMe SSD
  • 容量:1 TB
  • 重要性:延迟比吞吐量更重要

内存

  • 类型:DDR4 ECC
  • 容量:32 GB

操作系统

  • 版本:Linux Kernel 5.16或更新版本

网络

  • 对称网络速度:最低500 Mbit/s
  • 可以访问公网的IP

搭建教程

本教程使用Ubuntu作为操作,其他操作其他请自行参考

查询域ID

首先我们要知道当前网络启动了哪些域ID
目前的3H测试网可以进入该网站查询

一定要确定左上角是你要查询的网络,目前是3H,随后点击开发者和链状态

然后按照指定设置,最后点击+号

成功查询

简单解释一下

0代表域ID是0,因为截至本教程发布时间,3H测试网只有0这一个域ID.域的创建区块高度为 310,356

域所有者信息
ownerAccountId: 这是域的所有者账户ID,为 st7aRUx17s68YZBzxVt7qHC3YYYWPanSXAhWhqBQtHKwtPG1R。
createdAt: 这个域的创建区块高度为 310,356。
genesisReceiptHash: 这是域创世收据的哈希值,为 0x45b310c12c36dd814a3181e729881b7f297fc417a512601b38d55a783eb78a50。
域配置
domainName: 域的名称为 nova。
runtimeId: 运行时ID为 0。
maxBlockSize: 最大区块大小为 3,932,160 字节。
maxBlockWeight: 最大区块权重
refTime: 参考时间为 1,500,000,000,000。
proofSize: 证明大小为 13,835,058,055,282,163,711。
bundleSlotProbability: 打包槽概率为 [1, 1]。
targetBundlesPerBlock: 目标每区块打包数为 10。
operatorAllowList: 运营商允许列表为 Anyone,即任何人都可以成为运营商。
initialBalances: 初始余额列表,其中账户 0xf31e60022e290708c17d6997c34de6a30d09438f 的初始余额为 10,000,000,000,000,000,000,000。
域运行时信息
domainRuntimeInfo:
EVM: 以太坊虚拟机(EVM)的配置信息
chainId: 链ID为 490,000。

这些就是本教程当前创建的域的消息,在后面几天官方会添加新的auto域

查询这个的本身意义不是很大,有个更快速的方法就是直接在Discord问人,可以更快的获得,

搭建运营商node

首先我们需要插入密钥,有旧密钥可以用旧的,没有就创建新的
插入新密码使用如下命令
./node domain key create --base-path /你的目录/你的目录 --domain-id 0
简单解释一下./node 是你node软件的名称,你需要改目录 后面的–domain-id 0 是域ID 他会在你指定目录/domains/0创建key密钥文件 0改成几就是几,注意这里的目录,需要跟后面的node bash目录相同
完整的目录结构如下:

subspace-node/
  ├── db
  ├── domains/
  │   ├── 0/
  │   │   ├── keystore
  │   │   └── db
  │   ├── 1/
  │   │   ├── keystore
  │   │   └── db
  │   └── ...
  └── network

比如我的运行命令如下:

./node domain key create --base-path /root/sub --domain-id 0

得到如下数据


请务必保存好,其中key可以公开,最下面的助记词请你不要公开,key在后面创建有用
同时他会在/root/sub/domains/0/keystore创建密钥文件,里面是你的助记词,请务必注意安全,也要保证有这个文件存在

随后可以运行node了

直接使用上面的信息开始运行node

./node run \
--chain gemini-3h \ #网络
--name ooplay \ #节点名字
--blocks-pruning archive-canonical \ #区块修剪
--state-pruning archive-canonical \ #区块修剪
--base-path /root/sub \ #目录,这里目录一定要跟上面的密钥插入目录一样
-- \
--domain-id 0 \ #域ID
--operator-id 16 \ #你的运营商ID
--listen-on /ip4/0.0.0.0/tcp/40333  #公开,可移除

一定要确定–base-path /root/sub参数跟上面的目录一样,node必须能访问密钥,请仔细阅读上面文件夹结构

在第一次启动的时候,因为你的node没有同步,你如果在这时候就去创建运营商,很有可能会被罚款,所以请一定要在node同步好后,再进行运营商创建因为运营商没有创建,所以你肯定没有运营商ID,所以第一次启动同步的时候可以先移除–operator-id 16 \ #你的运营商ID参数

我的第一次启动参数如下:

./node run \
--chain gemini-3h \
--name ooplay \
--blocks-pruning archive-canonical \
--state-pruning archive-canonical \
--base-path /root/sub \
-- \
--domain-id 0 \
--listen-on /ip4/0.0.0.0/tcp/40333 

启动后node开始同步,域必须重新开始同步,并且现实貌似无法使用快速同步等功能


在最开始主链同步的时候,界面跟主链同步差不多
因为域ID 0 是在主链310356创建的,所以你的主链一旦同步到这个区块,就会开始同步域的区块,
到时候界面就会出现有两个区块日志,一个是主链的,一个是域的
如下:

我的图片里面是已经同步完成了,大概花费12小时,部分超过几天才同步好的说明你配置不行

创建运营商

node同步完成后可以创建运营商了
这里进行创建

看图片信息,这里是输你上面生成的助记词,然后生成key,助记词是12个单词,最好核对一下生成的key是否一致

我们直接输入信息后创建

随后在你的钱包授权提交交易


这里你使用任何钱包地址都可以,提交后该钱包就是这个key运营商的管理员
提交交易后
可以去https://subspace.subscan.io 输入你提交用的钱包地址查询最新交易

如果出现第一个绿色的就是成功了
如果出现第二个就是失败了
失败原因可能是你的key已经创建过,你的质押金额不够,你的提名人最低质押和税不对劲
成功后我们点击成功的那个哈希值

进入哈希详细页面后我们往下拉,在这里可以查看你获得的运营商ID

我获得的ID是18

然后我们回到node进行重启:

添加运营商ID18重新启动:

./node run \
--chain gemini-3h \
--name ooplay \
--blocks-pruning archive-canonical \
--state-pruning archive-canonical \
--base-path /root/sub \
-- \
--domain-id 0 \
--operator-id 18 \
--listen-on /ip4/0.0.0.0/tcp/40333 

到这里 一个域ID为0 兼容EVM的 nova煜运营商 18 号 就搭建好了,请一定要确定密钥一定被识别,同步完正常运行后的node应该有如下3个文件夹


并且key文件夹里面一定要有 key文件

3 Likes