主题
01 · 系统整体架构
本章以当前 cbdc-solution 代码、go.work、Proto 和 dev/ 配置为准。
模块边界
业务应用
| 应用 | 入口 | 端口 | 职责 |
|---|---|---|---|
| Facade | cbdc-facade/cmd/facade | gRPC 9600 / HTTP 9601 | 银行请求验签、统一 Wallet/Transfer/Transaction API、分片路由 |
| Wallet Node | cbdc-token/app/walletnode/cmd/walletnode | gRPC 9500 / HTTP 9502 / P2P 9501 | 钱包、策略、选币、交易、赎回与 finality |
| Issuer | cbdc-token/app/issuer/cmd/issuer | gRPC 9100 / P2P 9101 | 发行与供应量 |
| Auditor | cbdc-token/app/auditor/cmd/auditor | gRPC 9750 / P2P 9751 | 审计、拒绝日志与索引 |
| Endorser | cbdc-token/app/endorser/cmd/endorser | gRPC 9300 / P2P 9301 | TMS Init、审计代理、背书 |
| BizHub | cbdc-bizhub/cmd/bizhub | gRPC 9000 mTLS | 钱包生命周期、节点注册、机构/规则/费用/结算权威 |
| Central | cbdc-central/cmd/central | HTTP 8000 / gRPC 8001 | RBAC、审批、通知、审计和业务管理代理 |
四个 Token 节点共享 cbdc-token 镜像。源码 app 已由 Institution 重命名为 Wallet Node;institution_code 是业务机构,shard_code 是执行分片。
详见:Wallet Node、Issuer、Auditor、Endorser、BizHub、Central、Facade。
数据所有权
- BizHub 独占
cbdc_bizschema 与迁移链; - 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-network | KMS-enabled Orderer / Committer 镜像 |
dev/config/network | 开发 topology 权威输入 |
dev/run/config/cbdc-network | 控制器生成的 Network 配置 |
| sign-pki / Fabric CA | 证书签发与 PKI |
| sign-kms | PKCS#11 / HSM 代理 |
关键代码入口
| 主题 | 路径 |
|---|---|
| 开发编排 | dev/cbdc-dev、dev/controller/main.go |
| FSC 启动与 Node Registry | cbdc-token/pkg/nodesdk |
| Token View | cbdc-token/pkg/token/views |
| 银行 API | cbdc-facade/api/v1、internal/service |
| BizHub 边界 | cbdc-bizhub/api/{runtime,management}、internal/biz |
| Central 管理代理 | cbdc-central/internal/service、internal/client |