Skip to content

fabric-smart-client · 模块详解

本仓库 submodule:fabric-smart-client/。本章引用的所有路径均为相对于该 submodule 根。

cmd/

cmd/fsccli/main.go

来源:cmd/fsccli/main.go:24-31

fsccli                                  # 根(line 24)
├── artifactgen                         # nwo/cmd/artifactgen(line 26)
├── cryptogen                           # nwo/cmd/cryptogen(line 27)
├── view                                # View 服务客户端(line 28)
├── hsm                                 # HSM 支持(line 29)
├── validate                            # cmd/fsccli/validate(line 30)
└── version                             # cmd/fsccli/version(line 31)

CLI 框架:spf13/cobra v1.10.2go.mod:44)。

view 子命令源码:platform/view/services/view/grpc/client/cmdmain.go:19 import)。

platform/

顶层目录

目录Go 文件数用途
platform/common~85共享驱动、配置、身份
platform/view~409核心运行时
platform/fabric~378Fabric 集成
platform/fabricx~86Fabric-x 支持(实验)

platform/view/ 关键文件

来源:platform/view/

文件关键符号行号
platform/view/view/view.goView 接口10-14
platform/view/view/context.goContext 接口95-138
platform/view/view/session.goSession 接口65-85
platform/view/view/identity.goIdentityidentity.Identity 别名)14
platform/view/services/view/grpc/server/vm.goViewManager 接口16-25
platform/view/services/view/registry.goRegistry struct + 方法26-33、45-130
platform/view/services/view/factory.goFactory 接口14-17

platform/view/services/ 子包

子包用途
config配置
id身份(ECDSA / X.509 / KMS)
storageKVS / DB / 绑定
sig签名
endpoint端点解析
events事件
grpcgRPC 基础设施
tracingOpenTelemetry
webWeb 服务器 + 客户端
metricsPrometheus
commP2P 通信(host / provider / session

platform/common/driver/

文件接口 / 类型
kvs.goSignerInfoStoreAuditInfoStoreBindingStoreMetadataStoreEnvelopeStoreEndorseTxStore
config.goConfigService
sigservice.goSigServiceSigningIdentitySignerVerifier
committer.goTransactionFilterFinalityListener
vault.goVaultVaultStoreVaultReaderQueryExecutor
finality.goListenerManagerFinalityEvent
rwset.goRWSetGetStateOpt
types.goNamedDriverPersistenceType
iterator.goValidationCodeValidationCodeProvider
pagination.goPaginationPageIterator

integration/

来源:integration/

子目录子项目
integration/fabric/iou / atsa / events / stoprestart / twonets
integration/fabricx/iou / simple / multiendorsement / deployment
integration/fsc/pingpong / stoprestart
integration/benchmark/grpc/remote / node/remote / views
integration/nwo/网络编排框架(生成拓扑 / 配置 / 加密材料)
integration/reporting/prometheus / jaeger

具体子项目的功能描述 [未核] —— 需读各自 README。

node/

node/start/start.go 存在;完整生命周期管理 [未核]。

docs/

来源:docs/

顶层文档内容
docs/README.md(29 行)文档导航入口
docs/core-concepts.md(206 行)FSC 架构与核心概念
docs/configuration.md(606 行)共享节点配置

docs/platform/view/

文件内容
README.mdView 平台概览
programming-model.mdView 编程模型
view-sdk.mdView SDK 架构
view-api.md公共 API + 运行时语义(Context / Session / View / Identity)
configuration.mdView 配置
security-model.mdView 安全模型
services/view-service.mdView 服务编排
services/config-service.md配置服务
services/db-driver.mdDB 驱动
services/database-layout.mdDB 布局
services/runtime-db-access.md运行时 DB 访问
services/monitoring.md监控与追踪
services/comm/readme.md通信服务
services/comm/websocket.mdWebSocket
services/comm/libp2p.mdlibp2p
services/comm/multiplexer.md多路复用

docs/platform/fabric/docs/platform/fabric-x/

文件内容
fabric/README.mdFabric 平台概览
fabric/fabric-sdk.mdFabric SDK 架构
fabric/drivers.mdFabric 驱动架构
fabric/configuration.mdFabric 配置
fabric-x/README.mdFabric-x 概述(实验)
fabric-x/configuration.mdFabric-x 配置
fabric-x/channelconfig.mdFabric-x 通道配置

docs/dev/docs/reference/

文件内容
dev/development.md开发环境与工具
dev/signing.mdDCO + GPG 提交签名
dev/workflow.md贡献工作流
dev/merge-conflicts.md合并冲突
dev/rebasing.mdrebase 指南
reference/fsc-cli.mdFSC CLI 参考
reference/node-cli.mdNode CLI 参考

Makefile target

详见 03-quickstartMakefile:25-28 还有 help 列出所有命令。

go.mod 关键依赖

类别依赖(部分)版本
Fabrichyperledger/fabric-chaincode-go/v2 / fabric-contract-api-go/v2 / fabric-protos-go-apiv2 / fabric-lib-go / fabric-configv2.3.0 / v2.2.0 / v0.3.7 / v1.1.3 / v0.3.0
Fabric-xhyperledger/fabric-x-commonv0.2.4
身份IBM/idemix / IBM/mathlibv0.0.2-0.20250313 / v0.0.3-0.20250709
CLIspf13/cobra / spf13/viperv1.10.2 / v1.21.0
Webgin-gonic/gin / gorilla/websocketv1.10.0 / v1.5.3
P2Plibp2p/go-libp2p / go-libp2p-kad-dhtv0.48.0 / v0.39.0
DBjackc/pgx/v5 / Masterminds/squirrelv5.9.2 / v1.5.4
测试onsi/ginkgo/v2 / onsi/gomega / stretchr/testify / DATA-DOG/go-sqlmockv2.27.3 / v1.38.2 / v1.11.1 / v1.5.2
监控prometheus/client_golang / go.opentelemetry.io/*v1.23.2 / v1.43.0 等(otelgrpc v0.54.0)
配置knadh/koanf/v2 / miracl/conflatev2.3.4 / v1.3.4

来源:go.mod(304 行)。

看代码推荐路径

  1. README.md → 项目愿景与示例索引。
  2. docs/core-concepts.md → View / Identity / Session / FSC Stack 概念。
  3. platform/view/view/view.go:10-14context.go:95-138 → 核心接口。
  4. platform/view/services/view/registry.go:26-130 → 注册与查找机制。
  5. integration/fsc/pingpong/README.md → 最小示例。
  6. cmd/fsccli/main.go → CLI 入口。
  7. platform/common/driver/ → 驱动接口定义。