搭建节点
节点打通桥,供他人的加密消息通行,并凭借这份经过验证的工作发现 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}
节点不会把每张回执都写到链上。纪元结束时:
- 节点把回执汇成一棵 Merkle 树(SHA-512),公布
work.claim { epoch, count, root }。 - 下一个纪元的信标从它的树中随机抽取 16 张回执。
- 节点用
work.prove作答:给出这些回执及其秘密和 Merkle 路径。 - 如果 2 个纪元内没有作答,或任何一个叶子验证失败,该申报作废,节点失去该纪元的奖励。
- 任何节点申报的工作量都不能超过其抽签权重预期值的 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 且充电时运行)。它接收并投递碎片,但不出块;为节省流量,入口网关不会向它发送完整区块。
我的节点能读消息吗?
不能。它只保存加密信封的碎片,所有碎片大小相同。没有收件设备的密钥,就算集齐所有碎片也打不开信封。