完整文档页面(中文翻译)。文末附有来源说明。

阅读英文版

overviewlearnvalidator-architecture

验证者架构

Canton Network 验证者节点的内部组件

验证者是 Canton Network 上的基础基础设施单元。它托管 Party、存储其合约数据,并代表它们处理交易。理解验证者内部结构有助于部署规划、故障排查与容量评估。

验证者组件

验证者由两个主进程及其支撑基础设施组成:

flowchart TB
    subgraph Validator["Validator Node"]
        VP[Validator Process]
        subgraph PN["Participant Node"]
            LE[Ledger API]
            CE[Canton Engine]
            CS[(Contract Store)]
        end
        WA[Wallet App]
        DB[(PostgreSQL)]
    end

    APP[Application or backend] --> LE
    PN <--> SYNC[Synchronizer]
    VP --> PN
    WA --> PN
    PN --> DB
    VP --> DB

Participant 节点

Participant 节点是核心组件,负责:

  • 托管 Party 并管理其身份
  • 在本地数据库中存储所托管 Party 的合约数据
  • 暴露 Ledger API,供应用提交命令、读取交易并管理 Party
  • 运行 Canton 协议引擎,处理交易、验证与隐私
  • 与同步器通信,提交并接收数据类交易
  • 与同步器通信,提交并接收拓扑类交易

Validator 进程

Validator 进程在 Participant 之上处理 Canton Network 特有功能:

  • 管理接入 Global Synchronizer 的入驻流程
  • 使用 Canton Coin 处理流量购买
  • 为所托管 Party 运行 Splice 钱包应用
  • 管理自动运维,如流量自动充值与 Canton Coin 归集配置

数据库

Participant 与 Validator 进程均使用 PostgreSQL 持久化。生产环境应使用托管数据库服务(如 Cloud SQL、RDS),并配置备份与高可用。

验证者如何连接同步器

验证者通过 Sequencer 端点经 TLS(443 端口)仅出站连接同步器,无需接受来自网络的入站连接。

单个验证者可同时连接多个同步器,且只接收与其托管 Party 相关的交易,从而在同步器协调全网参与者的同时仍保持隐私。

Ledger API

Ledger API 是应用与账本交互的主接口。可通过 gRPC 或 JSON 传输完成:

  • 命令提交 — 创建合约、执行 Choice
  • 交易流 — 读取已确认交易
  • 活跃合约集(ACS) — 查询当前活跃合约
  • Party 管理 — 分配与管理 Party

应用可直接通过 gRPC 连接 Ledger API,或通过在其之上的 JSON API 使用 HTTP/JSON。


本文由 CC Privacy Club 根据 Canton Network 官方文档(CC-BY-4.0)整理翻译,仅供学习;实现细节以官方最新版本为准。