Skip to content

cbdc-chain · 架构

三层模型

来源:实测 cbdc-biz/conf/<role>/core.yamlcbdc-biz/app/cbdc-network/Makefilecbdc-infra/Makefile

监听端口(实测 cbdc-biz/conf/<role>/core.yaml):

服务gRPCFSC p2p出处
Endorser93009301cbdc-biz/conf/endorser1/core.yaml:7, 24
Issuer91009101cbdc-biz/conf/issuer/core.yaml:9, 30
Auditor97509751cbdc-biz/conf/auditor/core.yaml:16, 67
Institution-00195009501cbdc-biz/conf/institution-001/core.yaml:8, 46
BizHub9000cbdc-biz/conf/bizhub/core.yaml:50
Fabric CA7054cbdc-network/.env.example:32CA_URL
KMS gRPC / HTTP9200 / 9201sign-kms

cbdc-biz 子结构

来源:cbdc-biz/app/cbdc-biz/pkg/cbdc-biz/api/

5 个业务应用(共同模板)

cbdc-biz/app/<app>/
├── cmd/<app>/
│   ├── main.go     —— Kratos app 启动
│   └── wire.go     —— Wire DI
├── internal/
│   ├── biz/        —— 业务逻辑
│   ├── data/       —— 数据层(Repository + Ent ORM)
│   ├── service/    —— gRPC 服务实现
│   └── conf/       —— 配置 proto
└── Makefile

公共包(cbdc-biz/pkg/

职责
common/nodesdkFSC 节点启动 SDK
identity/身份与钱包管理
keystore/密钥存储(PKCS#11 + JKS)
observability/OTel tracing 与日志
rtgs/SWIFT MT298 + SMB RTGS 集成
token_selector/UTXO 选币
utxo_management/UTXO 锁定与管理
auditor/审计日志、规则树处理
scheduler/定时任务(cron v3)
signet/OpenTelemetry 集成
views/Token SDK View 实现
workerpool/工作线程池

API 定义(cbdc-biz/api/

16 个 .proto 文件(proto3,均在 cbdc-biz/api/cbdc-biz/v1/)。顶层服务:EndorserService / IssuerService / AuditorService / InstitutionOpsServicekms/KmsService / KmsManageServicebizhub/ManageService / WalletService / ApprovalService / SettlementService / IndexerService / CAService 等。

cbdc-network 关键事实

来源:cbdc-network/README.md:1-228cbdc-network/Makefile

默认 KMS 配置configs/test-full-kms.yamlMakefile:82 KMS_CONFIG
TLS 默认TLS_ENABLED=true / TLS_CLIENT_AUTH_REQUIRED=true.env.example:39-40
镜像版本来源git tag network/*make version 查看(Makefile:312
编排输出cbdc-network/out/docker-compose.yaml(由 cbdc-tool 镜像内 config-builder gen-compose 生成,Makefile:110-115

环境变量(cbdc-network/.env.example):

SIGN_KMS_ENDPOINT=cbdc-dev.sign.global:9200
KMS_TOKEN_LABEL=KMS_TK
KMS_USER_PIN=<JWT token>
CA_URL=http://admin:adminpw@cbdc-dev.sign.global:7054
TLS_ENABLED=true
TLS_CLIENT_AUTH_REQUIRED=true

cbdc-infra 关键事实

来源:cbdc-infra/Makefilecbdc-infra/cbdc-tool/Dockerfile

cbdc-infra/ 下仅 cbdc-tool/ 一个目录;Makefilebuild-all 构建 cbdc-toolcbdc-ca-server-kms 两个镜像(Makefile:15)。

镜像内容
cbdc-tool基于 ghcr.io/built-by-sign/fabric-x-tool,叠加从 sign-kms 镜像复制的 libkms_pkcs11.socbdc-tool/Dockerfile:8,20);提供 config-builder / fxconfig

环境变量(cbdc-infra/.env-example):

IMAGE_PREFIX=cbdc-dev.sign.global:5000
SIGN_KMS_IMAGE=cbdc-dev.sign.global:5000/sign-kms:v0.1.5
PLATFORM=linux/arm64,linux/amd64

镜像版本来源:git tag infra/*README.md:10-24)。

cbdc-stress 关键事实

来源:cbdc-stress/README.md:1-251cbdc-stress/main.go:26-35cbdc-stress/go.mod

实现纯 Go(crypto/ecdsa + net/http),go.mod 无第三方依赖
分发模型原子计数器环形分发,避免 worker 撞同一 sender
默认 URLhttp://34.60.193.75:9502-url flag,main.go:27
默认并发30 worker,60s 时长,慢启动 2s(-c-d-rampmain.go:30-32
报告输出P50 / P90 / P95 / P99 + 失败原因汇总

启动依赖关系

来源:README.md:64-83

Docker 镜像版本管理

来源:README.md:239-302

模块git tag 前缀示例
cbdc-bizbiz/v*biz/v0.0.6
cbdc-networknetwork/v*network/v0.1.0
cbdc-infrainfra/v*infra/v0.0.3

docs/ 与 plans/

文档已与代码脱节,不作事实依据

cbdc-chain/docs/(含 ARCHITECTURE.md / DEPLOYMENT_AND_SCALING.md / CAPACITY_PLAN_*.md / AUDIT_PERFORMANCE_PLAN.md / cbdc-central-integration-design.md 等)与 cbdc-chain/docs/plans/ 中的描述与当前代码已经出现明显差异(典型例子:cbdc-monitoring/ 目录在文档中存在但代码仓库内无对应目录;README 列出的 retail/ / wholesale/ 子目录在 cbdc-biz/app/ 下不存在)。

本 wiki 不再从这些文档摘录事实。如需了解历史设计意图请直接读原文,但请以 cbdc-biz/ / cbdc-network/ / cbdc-infra/ 等代码为准