Skip to content

11 · 调用链路速查

本页使用当前代码名。Wallet Node 的源码入口是 cbdc-token/app/walletnode/cmd/walletnode/main.go,内部服务为 WalletNodeOpsService

启动链

text
./dev/cbdc-dev
  → dev/internal/controller
  → prepare config / certs / Fabric-X topology
  → dev/run/config + dev/run/data
  → bizhub / issuer / auditor / endorser1 / walletnode-1 / central / facade

节点发现:

text
Auditor / Endorser
  → NewNodeRegistrarForNode
  → BizHub Node Registry

Issuer / Wallet Node
  → NewNodeResolverSyncForNode
  → BizHub Node Registry snapshot
  → FSC endpoint service

两阶段 Transfer

text
Facade TransferService.PrepareTransfer
  → client.WalletNodeFor(sender)
  → WalletNodeOpsService.PrepareTransfer
  → TransferBiz.PrepareTransfer
  → PrepareTransferView
  → PendingTransactionStore.Store(tx_id)
  ← tx_id + message_to_sign

Facade TransferService.SubmitTransfer
  → client.WalletNodeFor(sender)
  → WalletNodeOpsService.SubmitTransfer
  → PendingTransactionStore.Pop(tx_id)
  → TransferBiz.SubmitTransfer
  → SubmitSignatureView
    → AuditAndEndorseView
      → Endorser AuditResponderView
        → Auditor RequestAuditView / AuditView
    → broadcast
    → FinalityRegistry.Register
  ← tx_id(finality pending)

一步式托管 Transfer

text
WalletNodeOpsService.Transfer
  → TransferBiz.TransferDirect
  → PrepareTransferView
  → local wallet signer
  → AuditAndEndorseView
  → broadcast
  → FinalityRegistry.Register

该路径要求 Wallet Node 持有钱包私钥;只有证书的外部签名钱包必须走 Prepare/Submit。

钱包 API

text
Facade WalletService
  → wallet.ShardOf(wallet_id)
  → WalletNodeOpsService
  → WalletBiz / policy wallet logic
  → local wallet projection and/or BizHub service

Facade 当前覆盖 GenerateWalletId、CreateWallet、RenewWalletCert、BatchGetWalletInfo、List/RegisterWalletKey、RegisterCaIdentity、RelayIdemixCredential。

交易查询

text
Facade TransactionService.ListTransactions
  → WalletNodeFor(wallet_id)
  → WalletNodeOpsService.ListTransactions
  → Token SDK transaction projection

Submit 响应只代表广播已接受,终局状态应从交易查询读取。

Issue

text
IssuerService.IssueToken
  → issuer biz
  → IssueCashView
  → AuditAndEndorseView
  → Endorser → Auditor
  → ordering/finality
  → Wallet Node AcceptCashView

Redeem

text
WalletNodeOpsService.PrepareRedeem
  → RedeemBiz.PrepareRedeem
  → PrepareRedeemView
  → PendingTransactionStore.Store

WalletNodeOpsService.SubmitRedeem
  → PendingTransactionStore.Pop
  → RedeemBiz.SubmitRedeem
  → audit + endorse + broadcast + finality handoff

结算/RTGS 状态由 BizHub 管理;Token ledger finality 仍由 Fabric-X/Token SDK 决定。

Auditor 索引回流

text
Committer sidecar block source
  → Auditor FinalityCaptureWorker
  → TTXLookup batch lookup
  → BizHub IndexerService.AppendBatch
  → ledger_transactions + index_cursors(同事务)

数据管理链

text
Central UI/API
  → Central service + cbdc_central
  → BizHub management RPC
  → BizHub service + cbdc_biz

Central 不直接共享 BizHub 数据库。

关键入口

  • cbdc-facade/internal/service/
  • cbdc-token/app/walletnode/internal/service/
  • cbdc-token/app/walletnode/internal/biz/
  • cbdc-token/pkg/token/views/
  • cbdc-token/pkg/nodesdk/
  • cbdc-token/app/auditor/internal/worker/