主题
fabric-x · 架构
本章只引用 README.md 与 diagrams/ 的明文。底层协议细节请直接读 Arma 论文 与 Fabric-X 白皮书。
Fabric-X 整体架构
来源:README.md:24-82、diagrams/Fabric_vs_Fabric-X.png、diagrams/Fabric-X-Orderer.png、diagrams/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:21、integration/test/。
容器化构建
来源:Dockerfile:11-71。
| Stage | 镜像 | 关键设置 |
|---|---|---|
| Builder | golang:1.26 | CGO_ENABLED=1、CGO_CFLAGS="-D_LARGEFILE64_SOURCE" |
Runtime(prod) | registry.access.redhat.com/ubi9/ubi-minimal:9.6 | UID 10001(fabricx)、CMD ["/bin/sh"] |
Builder 阶段构建:configtxgen / cryptogen / configtxlator / fxconfig + IBM/idemix/tools/idemixgen@$IDEMIX_VERSION(ARG IDEMIX_VERSION=v0.0.2)。
go.mod 关键依赖
来源:go.mod:16-32。
| 依赖 | 版本 |
|---|---|
github.com/hyperledger/fabric-x-committer | v1.0.0-alpha.1 |
github.com/hyperledger/fabric-x-common | v0.2.4 |
github.com/hyperledger/fabric-protos-go-apiv2 | v0.3.7 |
google.golang.org/grpc | v1.81.0 |
google.golang.org/protobuf | v1.36.11 |