Skip to content

cbdc-chain · 核心流程

1. 全栈启动顺序

来源:README.md:64-83, 138-189

2. 一键启动脚本

来源:scripts/start-kms-system.shREADME.md:138-160

3. KMS 命名空间初始化

来源:README.md:99-136

4. 业务应用统一启动模板(Kratos)

来源:cbdc-biz/app/*/cmd/*/main.go(以 endorser/cmd/endorser/main.go 为代表)。

各应用流程基本一致;institution 额外在 kratos.Server 中挂载 HTTP server 与后台 worker(institution/cmd/institution/main.go:53-67)。入口位置见 04-modules

5. Endorser Init

来源:README.md:188cbdc-biz/api/cbdc-biz/v1/endorser.proto:7-8

sh
grpcurl -plaintext -d '{}' localhost:9300 cbdc_biz.v1.EndorserService/Init

EndorserService 仅定义 Init 一个 RPC(endorser.proto:8)。背书逻辑由 FSC View 响应器实现:cbdc-biz/app/endorser/cmd/endorser/main.go:107-110 注册 AuditResponderView / AuditAndEndorseView

6. 网络生成(fxconfig 流水线)

来源:cbdc-network/Makefilecbdc-network/README.md:53-86

7. 压测流程(cbdc-stress)

来源:cbdc-stress/main.gocbdc-stress/cmd/bootstrap/main.gocbdc-stress/runner.gocbdc-stress/metrics.go

输出格式(进度行 cbdc-stress/runner.go:383,报告 cbdc-stress/metrics.go:143-157):

[   3s] prep=18/0 submit=16/0  +16 last3s (5.3 TPS inst, 5.3 TPS avg)
...
==================== 压测报告 ====================
end-to-end TPS : 6.86 (428 笔 / 62.4s)
延迟分布 — prepare / submit / end2end 各 p50/p90/p95/p99/max
失败原因 top

8. 镜像版本管理

来源:README.md:239-301

子模块各自独立 tag(biz/v* / network/v* / infra/v*)。

9. 业务流(Issue / Transfer / Redeem / Audit)

业务流由 cbdc-biz/pkg/views/ 下基于 fabric-token-sdk 的 View 实现(issue.go 发行、transfer.go / accept_transfer.go 转账、redeem.go 赎回、endorsement.go 背书、audit.go 审计)。

端到端时序可参考 cbdc-chain/tests/(module cbdc-chain-tests):

  • tests/transfer/batch_transfer_test.go — 转账端到端
  • tests/marked_tokens/marked_tokens_test.go — 资产标记
  • tests/fees/ — 费用收集
  • tests/auditor_rulesets/limits_test.go — 审计规则限额
  • tests/e2e/endorser_proxy_test.go / ledger_indexer_test.go — Endorser + 索引

10. RTGS 集成

来源:cbdc-biz/pkg/rtgs/cbdc-biz/conf/bizhub/core.yaml:78-115

BizHub 通过 SWIFT MT298(封装 SMT201 结算 / SMT211 资金预留两类子报文,见 pkg/rtgs/mt298/)与 RTGS 系统交互,报文经 SMB 文件共享(默认端口 445,in/out 两个 share)收发,签名密钥来自 JKS/PKCS12 keystore(pkg/keystore/)。相关参数(BIC、payment code、SMB、keystore)配置在 conf/bizhub/core.yamlrtgs 段。