主题
fabric-smart-client · 核心流程
本章只引用源码与文档明文。
1. View 注册(Factory)
来源:platform/view/services/view/registry.go:45-70、factory.go。
Factory 接口:
go
type Factory interface {
NewView(in []byte) (view.View, error)
}2. Responder 注册
来源:platform/view/services/view/registry.go:81-130。
Registry 数据结构(registry.go:26-33):
go
type Registry struct {
factoriesSync sync.RWMutex
viewsSync sync.RWMutex
views map[string][]*viewEntry // 响应者 View 映射
initiators map[string]string // 启动者 ID → 响应者 ID 映射
factories map[string]Factory // View ID → Factory 映射
}3. View 调用(Initiator → Responder)
来源:integration/fsc/pingpong/README.md:41-134、platform/view/view/context.go:95-138。
4. View 服务(gRPC)
来源:platform/view/services/view/grpc/server/protos/service.proto、vm.go:16-25。
ViewManager(vm.go:16-25):创建 View 实例、启动 View、删除 Context。
5. Session 通信
来源:platform/view/services/comm/、docs/core-concepts.md:65-88。
Session 是两方间的双向通信信道,具有唯一 ID。
| 子模块 | 用途 |
|---|---|
comm/host | WebSocket / libp2p 主机 |
comm/provider | 会话提供者 |
comm/session | JSON 序列化会话 |
comm/messages.proto | ViewPacket 等消息 |
6. 集成测试启动(nwo 框架)
来源:integration/fsc/pingpong/README.md:343-352、integration/nwo/。
7. 业务流程三阶段 vs Fabric 三阶段
来源:docs/core-concepts.md:28-43, 65-88。
FSC 关注业务流程编排;底层 Fabric 三阶段由 Fabric Platform 处理。
8. fsccli 命令树
来源:cmd/fsccli/main.go:24-31。