主题
cbdc-solution · 概述
cbdc-solution 是 CBDC 许可链与业务应用 monorepo。本章只陈述当前源码、Proto、配置模板和开发控制器能够直接证明的事实;仓库内历史设计文档与现状冲突时,以代码和 dev/ 为准。
当前基线
| 项 | 当前事实 | 代码依据 |
|---|---|---|
| 工作区 | 9 个 Go module | go.work |
| Go 版本 | 工作区 1.26.3 | go.work |
| 服务框架 | go-kratos v3 | 各业务模块 go.mod |
| Token SDK | LFDT Panurus,实际替换到 Built-by-Sign fork | cbdc-token/go.mod |
| Fabric Smart Client | v0.14.2 | cbdc-token/go.mod |
| Fabric-X common | v0.2.7 | cbdc-token/go.mod |
| 本地开发入口 | ./dev/cbdc-dev | README.md、dev/USAGE.md |
go.work 当前包含:
text
cbdc-token cbdc-bizhub cbdc-central
cbdc-facade cbdc-common cbdc-rtgs-mock
cbdc-stress dev/controller tests服务地图
模块职责
| 目录 | 职责 |
|---|---|
cbdc-token/ | auditor、issuer、endorser、walletnode 四个 FSC / Token 节点,共用一个镜像 |
cbdc-bizhub/ | 业务权威:钱包生命周期、节点注册、配置、结算与 RTGS;同一二进制支持 runtime / management 模式 |
cbdc-central/ | 央行管理后台与 React Web;拥有独立 cbdc_central 数据库,通过 BizHub management RPC 管业务数据 |
cbdc-facade/ | 银行侧 API 网关;验签后按钱包分片路由到 BizHub / Wallet Node |
cbdc-common/ | mTLS、客户端、节点注册、钱包 ID、策略、可观测性、调度器等公共包 |
cbdc-rtgs-mock/ | 本地 RTGS 文件收发模拟器 |
cbdc-infra/ | cbdc-tool 及 KMS-enabled Fabric-X Orderer / Committer 镜像构建 |
dev/ | 本地/远程混合开发环境控制器、配置模板与生成态 |
tests/ | 跨服务集成测试与 e2e |
名称迁移
源码中的银行执行节点已经从 institution 重命名为 walletnode。institution_code 仍表示业务机构;shard_code 表示 Wallet Node 路由分片,两者不是同一概念。旧文档路径 /apps/institution 保留兼容提示页。
当前关键能力
- 银行自持 X.509 或 Idemix 密钥;Facade 提供钱包创建、密钥管理、两步转账和交易查询 API。
- 策略钱包支持多密钥成员、策略版本和 Idemix blind enrollment。
- BizHub 维护钱包生命周期、Wallet Node 注册表、机构/规则/费用/标记和结算权威数据。
- Auditor 执行审计、拒绝日志与账本索引;Endorser 部署 TMS 公共参数并参与背书。
- 四个 Token 节点的 FSC P2P 传输均为
websocket,配置双向 TLS 信任根及maxSubConns: 8192。 - 开发控制器可在 Docker 与本机源码 debug 之间按应用切换,也可组合本地和远程 Infra / Network / Postgres。
配置事实要分层理解
仓库存在两套用途不同的 Token 配置:
| 配置集 | 用途 | 当前 Token driver |
|---|---|---|
dev/config/token/*/core.yaml | ./dev/cbdc-dev 的本地开发权威模板 | zkatdlog |
cbdc-token/conf/*/core.yaml | 模块级/兼容运行模板 | fabtoken |
因此不能笼统地说“仓库当前只运行 fabtoken”或“只运行 zkatdlog”。判断实际模式必须看启动入口最终渲染出的配置;开发控制器输出位于 dev/run/config/cbdc-apps/。