9 · 运行节点
最后更新: 2026/08/07阅读约 1 分钟
XChain 是一件公共品,运行它本来就应该是公开的。公开仓库发布之后,一个节点大约一分钟就能编译并启动,然后每 3 秒 出一个块(Go 1.23+、git、bash;GOTOOLCHAIN=go1.25.7 会自动获取工具链):
# 公开仓库尚未发布 —— 当前源码状况见「现状」
git clone <xchain-repo-url> && cd xchain
GOTOOLCHAIN=go1.25.7 go build -o build/xchaind ./cmd/xchaind
bash devnet/run-single-node.sh # 每 ~3 秒一个块
完整的验收流程 —— bash devnet/mvc-all.sh —— 会拉起一个带真实 relayer 的 3 链 devnet,并从干净状态开始跑完 MVC 验收。XChain 给自己设了三道关:
| 关卡 | 跑的是什么 |
|---|---|
| 1 | GOTOOLCHAIN=go1.25.7 go test ./...(CI) |
| 2 | 真实 devnet 端到端 —— bash devnet/mvc-all.sh |
| 3 | 浏览器 —— 类型检查 + 测试 + docker build(CI) |
验收标准(MVC)各自把这份白皮书的一项主张钉死在机器可以检查的东西上:
| 标准 | 它证明了什么 | 涉及的原语 |
|---|---|---|
| MVC-1 | 把一个「赞」锚定进 Data Layer,并经由 ICA 跨链验证其包含性 | VLC · DA · XMP |
| MVC-2 | 强制执行 UAC 安全等级与总量不变式 | UAC |
| MVC-3 | 在模拟出问题的链上,XMP 防重放 + pessimistic 隔离限损 | XMP |
| MVC-4 | 把 3 条链聚合 → 1 个 Cell → Root,并在 Settlement Layer 结算 | PAI · SC |
图 9 — 从一次干净的 checkout 到四条验收标准 —— 任何人都能跑的同一条路径。
第一条规矩: 在宣布完成之前先验证 —— 把输出贴出来,不要断言「看起来是对的」。(哪个构建与运行中的网络相符、源码今天放在哪里,都是现状问题 —— 见 现状与实时网络。)任何人都可以运行这台机器;更难的问题是谁来决定它变成什么 —— 下一节讲治理。