Skip to content

01 · 系统整体架构

本章以当前 cbdc-solution 代码、go.work、Proto 和 dev/ 配置为准。

模块边界

业务应用

应用入口端口职责
Facadecbdc-facade/cmd/facadegRPC 9600 / HTTP 9601银行请求验签、统一 Wallet/Transfer/Transaction API、分片路由
Wallet Nodecbdc-token/app/walletnode/cmd/walletnodegRPC 9500 / HTTP 9502 / P2P 9501钱包、策略、选币、交易、赎回与 finality
Issuercbdc-token/app/issuer/cmd/issuergRPC 9100 / P2P 9101发行与供应量
Auditorcbdc-token/app/auditor/cmd/auditorgRPC 9750 / P2P 9751审计、拒绝日志与索引
Endorsercbdc-token/app/endorser/cmd/endorsergRPC 9300 / P2P 9301TMS Init、审计代理、背书
BizHubcbdc-bizhub/cmd/bizhubgRPC 9000 mTLS钱包生命周期、节点注册、机构/规则/费用/结算权威
Centralcbdc-central/cmd/centralHTTP 8000 / gRPC 8001RBAC、审批、通知、审计和业务管理代理

四个 Token 节点共享 cbdc-token 镜像。源码 app 已由 Institution 重命名为 Wallet Node;institution_code 是业务机构,shard_code 是执行分片。

详见:Wallet NodeIssuerAuditorEndorserBizHubCentralFacade

数据所有权

  • BizHub 独占 cbdc_biz schema 与迁移链;
  • Central 独占 cbdc_central,不直连 BizHub 业务表;
  • Token 节点通过 Panurus persistence 使用各自 Postgres;
  • Facade 无本地数据库。

身份与信任

  • 银行请求:Facade 验证 Ed25519 签名,从 BizHub auth_client 快照得到机构身份;
  • 服务调用:BizHub mTLS middleware 从已验证证书提取角色,service 方法用 RequireRoles
  • FSC P2P:四节点使用 WebSocket TLS,节点证书含 clientAuth,serverAuth 与 DNS SAN;
  • Token owner:银行自持 X.509 或 Idemix key,Policy Wallet 可组合多成员;
  • 节点身份:可经 PKCS#11 调 sign-kms,私钥不出 HSM 边界。

Token driver

当前代码库有两套用途不同的配置:dev/config/token 使用 zkatdlog,cbdc-token/conf 使用 fabtoken。架构图对两种 driver 都成立;金额隐私、公共参数和性能结论必须引用实际渲染配置。

动态节点发现

  • Auditor / Endorser 通过 Registrar 向 BizHub 发布外部可达地址;
  • Wallet Node / Issuer 通过 ResolverSync 拉取 Auditor / Endorser 快照;
  • Facade / BizHub 通过 wallet.ShardOf(wallet_id) 选择 Wallet Node;
  • 静态 FSC resolver 仍作为启动输入,动态注册负责运行时更新。

基础设施归属

目录/仓库归属
cbdc-infra/cbdc-networkKMS-enabled Orderer / Committer 镜像
dev/config/network开发 topology 权威输入
dev/run/config/cbdc-network控制器生成的 Network 配置
sign-pki / Fabric CA证书签发与 PKI
sign-kmsPKCS#11 / HSM 代理

关键代码入口

主题路径
开发编排dev/cbdc-devdev/controller/main.go
FSC 启动与 Node Registrycbdc-token/pkg/nodesdk
Token Viewcbdc-token/pkg/token/views
银行 APIcbdc-facade/api/v1internal/service
BizHub 边界cbdc-bizhub/api/{runtime,management}internal/biz
Central 管理代理cbdc-central/internal/serviceinternal/client

下一步