Skip to content

cbdc-chain · API 参考

gRPC 服务

来源:cbdc-biz/api/cbdc-biz/v1/(16 个 .proto,package 均为 cbdc_biz.v1)。

各应用暴露的主服务:

服务proto端口RPC 示例
EndorserServiceendorser.proto9300Init
IssuerServiceissuer.proto9100IssueTokenTotalSupply
AuditorServiceauditor.proto9750GetBalanceGetHistoryListTransactionsManualRulesetSync
InstitutionOpsServiceinstitution.proto9500(gRPC)/ 9502(HTTP)PrepareTransferSubmitTransferListWalletsPrepareRedeem

BizHub(端口 9000)聚合多个服务,定义在 api/cbdc-biz/v1/bizhub/ApprovalServiceSettlementServiceWalletServiceManageService(钱包标签 / 规则组 / 审计规则集 / 费用 / 资产标记 / 拒绝记录)、CAServiceClientAuthManagementServiceIndexerServiceInstitutionManageServiceBizhubAuditorService

KMS 客户端代理定义在 api/cbdc-biz/v1/kms/KmsServiceGenerateKeypair / GetPublicKey / Sign)、KmsManageServiceSignin / CreateNs / GetAccessToken / ListNamespaces 等)。

完整 RPC 与请求 / 响应类型见对应 .proto

HTTP(bank-node REST)

institution 应用启用 Kratos HTTP transport(app/institution/cmd/institution/main.go:32,62app/institution/internal/server/http.go),HTTP 端口硬编码为 :9502http.go:38)。路由来自 institution.proto 中的 google.api.http 注解,例如:

方法路径RPC
GET/api/v1/walletsListWallets
POST/api/v1/wallets/createCreateWallet
POST/api/v1/transfers/preparePrepareTransfer
POST/api/v1/transfers/submitSubmitTransfer
POST/api/v1/transactionsListTransactions

OpenAPI 文档在 /q/openapi.yaml,Swagger UI 在 /q/swagger-uihttp.go:52-58)。这就是 cbdc-stress 默认调用的 bank-node REST(-url 默认 http://34.60.193.75:9502)。

KMS 管理 HTTP(命名空间初始化)

来源:README.md:99-136(实际是 sign-kms 的接口,cbdc-chain 仅消费)。

方法路径用途
POST/api/v1/namespace/signin登录拿 JWT
POST/api/v1/create-ns创建 namespace
POST/api/v1/access-token拿 access token

CLI

cbdc-stress 主程序

来源:cbdc-stress/main.go:19-37

sh
cbdc-stress [flags]
flag默认含义
-env(空)环境预设 dev / local,展开 -url/-wallets(显式传参优先)
-urlhttp://34.60.193.75:9502bank-node REST
-walletswallets.json钱包文件
-active0使用前 N 个钱包(0 = 全部)
-c30并发 worker
-d60s时长(不含 ramp)
-ramp2s慢启动
-moderingring / ring_once / query
-timeout120s单请求 HTTP 超时
-amt0.50每笔金额

cbdc-stress bootstrap 工具

来源:cbdc-stress/cmd/bootstrap/main.go:81-95

sh
bootstrap create-mother                          # 生成母钱包到 mother.json
bootstrap create-children -n <N> -fund-amt <X>   # 创建 N 个子钱包,逐个从母钱包充值
bootstrap fund-existing -mother <f> -wallets <f> # 对已有 wallets.json 补充值

各子命令支持 -env dev|local 预设。完整 flag 见 cmd/bootstrap/main.go 各子命令的 FlagSet

cbdc-network Makefile target

来源:cbdc-network/Makefile

target用途
setup标准模式(cryptogen)
setup-kmsKMS 模式
start启动网络
teardown停止 + 清理
create-ns创建命名空间
list-ns列出
versiongit tag network/*
build-push构建并推送

cbdc-biz Makefile target

来源:cbdc-biz/Makefile

target用途
setupmake clean + gen_crypto.sh 生成 MSP + cp_fabricx.sh 复制配置
build / build-base / build-push构建应用 / 基础 / 构建并推送镜像
start / start-infracompose-local-run.yml / compose-local-run-infra.yml up
stop / teardown停止 / 停止并清理(down -v
versiongit tag biz/*

cbdc-infra Makefile target

来源:cbdc-infra/README.md:8-23cbdc-infra/Makefile

target用途
versiongit tag infra/*
build-all构建所有镜像
build-push构建并推送

TAG=<custom> 可覆盖版本。

顶层脚本

来源:README.md:138-160scripts/

脚本用途
scripts/start-kms-system.sh一键启动(--skip-build / --quick / --local-kms
scripts/check-auditor-key.sh审计密钥检查

服务端口

业务应用(cbdc-biz/docker/compose-local-run.yml,gRPC 端口同 conf/<role>/core.yaml):

服务gRPCFSC P2P
BizHub9000
Issuer91009101
Endorser93009301
Institution-00195009501(另 HTTP 9502
Auditor97509751

基础设施(cbdc-biz/docker/compose-local-run-infra.yml):

服务端口
KMS gRPC / HTTP9200 / 9201
Fabric CA7054(另 9443

测试入口

端到端 / 集成测试在 cbdc-chain/tests/(独立 module cbdc-chain-tests)。所有 _test.go//go:build integration,需加 -tags=integrationtests/README.md:42-60):

sh
cd tests
go test -tags=integration -v ./e2e/...               # 端到端
go test -tags=integration -v ./transfer/...          # 转账
go test -tags=integration -v ./marked_tokens/...     # 资产标记
go test -tags=integration -v ./fees/...              # 费用
go test -tags=integration -v ./auditor_rulesets/...  # 审计规则

cbdc-biz 自身的单元测试与被测代码同包(pkg/app/ 下的 *_test.go)。测试框架:Go testing + stretchr/testify v1.11.1tests/go.mod:7cbdc-biz/go.mod:25)。