Skip to content

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/hostWebSocket / libp2p 主机
comm/provider会话提供者
comm/sessionJSON 序列化会话
comm/messages.protoViewPacket 等消息

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。