搭建节点

节点打通桥,供他人的加密消息通行,并凭借这份经过验证的工作发现 VEL。一条命令即可安装,在后台运行,并自动更新。

安装

# macOS / Linux
curl -fsSL https://velum.consultorabim.com/install.sh | bash
# Windows (PowerShell)
irm https://velum.consultorabim.com/install.ps1 | iex

安装脚本会下载适合你系统的二进制文件,生成节点密钥,在网络中注册,并设置为开机自动启动。运行前可以先阅读:install.sh 和 install.ps1。也可以手动下载二进制文件。

系统 二进制
macOS(Apple 芯片和 Intel) velum-darwin-arm64、velum-darwin-x64
Linux velum-linux-x64、velum-linux-arm64
Windows velum-windows-x64.exe

每个系统只有一个文件,没有依赖,也没有零散文件。

配置要求

  • 一台经常开机、能上网的电脑。
  • CPU 和内存占用极低。磁盘:区块链数据约几百 MB;碎片在送达后或 7 天后删除。
  • 无需开放端口。如果开放了,其他节点可以直接连接你(--endpoint),这有助于抗封锁。

选项

velum-node --name "atico-madrid" --payout vel…            # options are saved in ~/.velum/config.json
velum-node --port 7420                                    # local panel at http://localhost:7420
velum-node --gateway none --peer ws://203.0.113.7:7420/ws # direct peers only, no public gateway
velum-node --endpoint wss://node.example.org/ws           # public address announced on-chain
velum-node address                                        # prints the node address
velum-node reset                                          # wipes chain data (keeps the key) and resyncs

注册时,节点会声明自己的大致区域(所在大洲)。这用于让应用选择附近的节点,不影响共识。

控制面板

节点会在你的电脑上打开一个面板:http://localhost:7420。在那里可以看到它的等级、连续服务记录、收入和已连接的对等节点。

在面板中可以暂停贡献。注意:连续离线超过 48 小时会让连续服务记录清零。

签名更新

节点会查询版本清单:

{
  "version": "3.0.1",
  "minNodeVersion": "3.0.0",
  "minAppVersion": "3.0.0",
  "files": {
    "darwin-arm64": { "url": "https://velum.consultorabim.com/download/velum-darwin-arm64", "sha512": "…" },
    "linux-x64":    { "url": "https://velum.consultorabim.com/download/velum-linux-x64",    "sha512": "…" },
    "windows-x64":  { "url": "https://velum.consultorabim.com/download/velum-windows-x64.exe", "sha512": "…" }
  },
  "ts": 1793577600000,
  "sig": "…ed25519 signature by the release key…"
}

只有当签名 sig 能用内置的 ed25519 发布密钥验证通过、且文件的 SHA-512 指纹一致时,才会安装新版本。清单中包含 minNodeVersion:低于最低版本的节点会先更新再继续运行。

节点如何发现 VEL

抽签加就近路由

对每个碎片,一次公开抽签选出 3 个候选节点,等级和保证金越高的节点被选中的概率越大。应用测量延迟,使用三者中最快的一个,就像 CDN。只有真正传递了碎片的那座桥才算数,而且一定是在抽中的三个节点之内:没人能指定由谁传递。

抽样验证的工作申报 {#reclamaciones}

节点不会把每张回执都写到链上。纪元结束时:

  1. 节点把回执汇成一棵 Merkle 树(SHA-512),公布 work.claim { epoch, count, root }。
  2. 下一个纪元的信标从它的树中随机抽取 16 张回执。
  3. 节点用 work.prove 作答:给出这些回执及其秘密和 Merkle 路径。
  4. 如果 2 个纪元内没有作答,或任何一个叶子验证失败,该申报作废,节点失去该纪元的奖励。
  5. 任何节点申报的工作量都不能超过其抽签权重预期值的 1.5 倍。

即使网络承载数十亿条消息,每个节点每个纪元在链上也只占用约 1 KB。

每个纪元能发现的 VEL

本纪元发行量、所保存手续费的 80%,再加上网络储备的返还。发现方式如下:

  • 85% 通过打通桥发现:经过验证的投递 × 等级系数。
  • 15% 通过出块和验证区块发现,按出块数平均划分。即使没有消息也照样发现。

按连续服务时长分级

等级 系数 要求
新手 ×0.50 注册即可
活跃 ×0.65 连续服务 ≥ 1 个月,在线率 ≥ 90%
资深 ×0.85 连续服务 ≥ 3 个月,在线率 ≥ 95%
支柱 ×1.00 连续服务 ≥ M(t) 个月,在线率 ≥ 98%
M(t) = min(12, 6 + floor(网络月龄 / 4))

网络诞生时,支柱等级要求 6 个月;网络每运行 4 个月,要求增加 1 个月,最多 12 个月。

  • 连续服务是一段连续在线的纪元记录。连续离线超过 48 小时会让记录清零;短时间维护不会。
  • 系数只是划分同样的数量:发现的总量永远不会超过本纪元的发行量。

可选保证金

通过 node.bond 锁定 VEL,可以把你在抽签中的权重提高到最多 ×2:

抽签权重 = 等级系数 × (1 + min(保证金, 10,000 VEL) / 10,000)

保证金解锁需要等待 14 天。如果你的节点在某个纪元未通过验证,该纪元就什么也发现不了。其他人也可以把 VEL 委托给你的节点:参见生态。

手机上的轻节点

应用可以在 设置 › 作为节点运行 中开启轻节点(默认仅在连接 Wi-Fi 且充电时运行)。它接收并投递碎片,但不出块;为节省流量,入口网关不会向它发送完整区块。

我的节点能读消息吗?

不能。它只保存加密信封的碎片,所有碎片大小相同。没有收件设备的密钥,就算集齐所有碎片也打不开信封。