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

**URL:** https://forum.autonomys.xyz/t/node/4267
**Category:** Non-English
**Created:** [June 21, 2024, 7:26am UTC](https://forum.autonomys.xyz/t/node/4267 "2024-06-21T07:26:01Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![z\_W](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.autonomys.xyz/z_w/32/1135_2.png) [@z\_W](https://forum.autonomys.xyz/u/z_W)
#### Post date: [June 21, 2024, 7:26am UTC](https://forum.autonomys.xyz/t/node/4267/1 "2024-06-21T07:26:01Z")

</div>

有时候帖子权限会没有修改权限,有最新更新会放在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测试网可以进入[该网站](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Frpc-1.gemini-3h.subspace.network%2Fws#/chainstate)查询

 ![image](https://canada1.discourse-cdn.com/flex011/uploads/subspace/original/2X/8/86815799530ff727d86f0adf06b69a2928df624b.png)

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

 ![image](https://canada1.discourse-cdn.com/flex011/uploads/subspace/original/2X/2/245eac8e113654bbc1e49b72ec9c19f2b4465973.png)

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

 ![image](https://canada1.discourse-cdn.com/flex011/uploads/subspace/original/2X/8/84b8a463a3ffa82abaf4bed84a9f71e8a6e97175.png)

### 成功查询

### 简单解释一下

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

```auto
域所有者信息
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目录相同  
完整的目录结构如下:

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

```

比如我的运行命令如下:

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

```

得到如下数据

 ![image](https://canada1.discourse-cdn.com/flex011/uploads/subspace/original/2X/1/197a134510cf682ac8d0f70aa96533fb7b5e7546.jpeg)  
请务必保存好,其中key可以公开,最下面的助记词请你不要公开,key在后面创建有用  
同时他会在/root/sub/domains/0/keystore创建密钥文件,里面是你的助记词,请务必注意安全,也要保证有这个文件存在

# 随后可以运行node了

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

```auto
./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参数

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

```auto
./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开始同步,域必须重新开始同步,并且现实貌似无法使用快速同步等功能

 ![image](https://canada1.discourse-cdn.com/flex011/uploads/subspace/original/2X/6/6a4d02bad14ecc366b30a05af99324f9eac71f12.jpeg)  
在最开始主链同步的时候,界面跟主链同步差不多  
因为域ID 0 是在主链310356创建的,所以你的主链一旦同步到这个区块,就会开始同步域的区块,  
到时候界面就会出现有两个区块日志,一个是主链的,一个是域的  
如下:  
 ![c823f99ddf6c154a5870c0815ae655e](https://canada1.discourse-cdn.com/flex011/uploads/subspace/original/2X/6/63307e5d6d2f6e4918d811adc0099abbb11d1b2f.jpeg)  
我的图片里面是已经同步完成了,大概花费12小时,部分超过几天才同步好的说明你配置不行

# 创建运营商

node同步完成后可以创建运营商了  
在[这里](https://explorer.subspace.network/gemini-3h/staking/register)进行创建

 ![image](https://canada1.discourse-cdn.com/flex011/uploads/subspace/original/2X/c/c65823d9ccb65ef65c8dec05f12d2f425df5144a.jpeg)

 ![image](https://canada1.discourse-cdn.com/flex011/uploads/subspace/original/2X/f/f734d0a59c25a0999fadebdb1cf19f5f11bc1eba.png)

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

### 我们直接输入信息后创建

 ![image](https://canada1.discourse-cdn.com/flex011/uploads/subspace/original/2X/e/ea2c6c8bb0ef2798dd1237b8e2f6202e8ea4feea.png)

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

 ![image](https://canada1.discourse-cdn.com/flex011/uploads/subspace/original/2X/9/962ea3fb1a8c3ae0dfe31640367b74ca27f74aa6.png)  
这里你使用任何钱包地址都可以,提交后该钱包就是这个key运营商的管理员  
提交交易后  
可以去[https://subspace.subscan.io](https://subspace.subscan.io) 输入你提交用的钱包地址查询最新交易  
 ![image](https://canada1.discourse-cdn.com/flex011/uploads/subspace/original/2X/2/2d381babdb173b22398db20de510a4be931d03cd.png)  
如果出现第一个绿色的就是成功了  
如果出现第二个就是失败了  
失败原因可能是你的key已经创建过,你的质押金额不够,你的提名人最低质押和税不对劲  
成功后我们点击成功的那个哈希值  
 ![image](https://canada1.discourse-cdn.com/flex011/uploads/subspace/original/2X/2/2b8892ebfb2024590fef7848a43b673b1dac4120.png)  
进入哈希详细页面后我们往下拉,在这里可以查看你获得的运营商ID  
 ![image](https://canada1.discourse-cdn.com/flex011/uploads/subspace/original/2X/d/d57d12ed1908626fecfdbea9f44409e5a848b65e.png)  
我获得的ID是18

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

添加运营商ID18重新启动:

```auto
./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个文件夹

 ![image](https://canada1.discourse-cdn.com/flex011/uploads/subspace/original/2X/7/7abeaf36742512df0a3a8fa890ad03016071de23.png)  
并且key文件夹里面一定要有 key文件

---

<div class="post-metadata">

### Author: ![z\_W](https://yyz1.discourse-cdn.com/flex011/user_avatar/forum.autonomys.xyz/z_w/32/1135_2.png) [@z\_W](https://forum.autonomys.xyz/u/z_W)
#### Post date: [February 22, 2025, 10:24am UTC](https://forum.autonomys.xyz/t/node/4267/2 "2025-02-22T10:24:25Z")

</div>

# 最新启动命令参考:

```auto
./node run \
    --chain taurus \
    --name ooplay \
    --base-path /root/sub \
    --blocks-pruning archive-canonical \
    --state-pruning archive-canonical \
    --sync full \
    -- \
    --domain-id 0 \
    --blocks-pruning archive-canonical \
    --state-pruning 16000

```

主要是测试网已经从3H更换为taurus金牛座
