Skip to content

fabric-smart-client · 核心流程

本章只引用源码与文档明文。

1. View 注册(Factory)

来源:platform/view/services/view/registry.go:45-70factory.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-134platform/view/view/context.go:95-138

4. View 服务(gRPC)

来源:platform/view/services/view/grpc/server/protos/service.protovm.go:16-25

ViewManagervm.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-352integration/nwo/

7. 业务流程三阶段 vs Fabric 三阶段

来源:docs/core-concepts.md:28-43, 65-88

FSC 关注业务流程编排;底层 Fabric 三阶段由 Fabric Platform 处理。

8. fsccli 命令树

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