Skip to content

fabric-x · 架构

本章只引用 README.mddiagrams/ 的明文。底层协议细节请直接读 Arma 论文Fabric-X 白皮书

Fabric-X 整体架构

来源:README.md:24-82diagrams/Fabric_vs_Fabric-X.pngdiagrams/Fabric-X-Orderer.pngdiagrams/Fabric-X-Committer.png

Arma 共识

来源:README.md:51-58

  • BFT 共识,水平可扩展(网络/CPU/磁盘 IO)。
  • 分离传播/验证 与 共识;共识只对批次元数据全序化。
  • 4 个角色:routers / batchers / consenters / assemblers

实现仓库:fabric-x-orderer。本仓库无 Arma 实现代码。

Committer 微服务

来源:README.md:70-76

5 个组件:sidecar / coordinator / validator-committer / verification service / query service

实现仓库:fabric-x-committer。本仓库无 Committer 实现代码。

与经典 Fabric 的对比

来源:README.md:32-45。详见 01-overview

本仓库定位

来源:Makefile:21integration/test/

容器化构建

来源:Dockerfile:11-71

Stage镜像关键设置
Buildergolang:1.26CGO_ENABLED=1CGO_CFLAGS="-D_LARGEFILE64_SOURCE"
Runtime(prodregistry.access.redhat.com/ubi9/ubi-minimal:9.6UID 10001fabricx)、CMD ["/bin/sh"]

Builder 阶段构建:configtxgen / cryptogen / configtxlator / fxconfig + IBM/idemix/tools/idemixgen@$IDEMIX_VERSIONARG IDEMIX_VERSION=v0.0.2)。

go.mod 关键依赖

来源:go.mod:16-32

依赖版本
github.com/hyperledger/fabric-x-committerv1.0.0-alpha.1
github.com/hyperledger/fabric-x-commonv0.2.4
github.com/hyperledger/fabric-protos-go-apiv2v0.3.7
google.golang.org/grpcv1.81.0
google.golang.org/protobufv1.36.11