主题
fabric-x · 概述
仓库基本事实
| 项 | 值 | 出处 |
|---|---|---|
| Module path | github.com/hyperledger/fabric-x | go.mod:6 |
| Go 版本 | 1.26.0 | go.mod:8 |
| Go 文件总数 | 87 | find 统计 |
| 顶层目录 | tools/、integration/、scripts/、diagrams/、docs/ | 目录树 |
| 产物 | 4 个 CLI:configtxgen、configtxlator、cryptogen、fxconfig | Makefile:21 |
本仓库不是 server,对外只产出 CLI 工具与 E2E 联调脚本。运行时服务在排序/提交/客户端三个独立仓库。
README 自述
来源:README.md。
Fabric-Xrepresents a fundamental re-architecture of Hyperledger Fabric ... The monolithic peer is decomposed into independently scalable microservices for endorsement, validation, and committing. To maximize parallelism, a transaction dependency graph was introduced.——
README.md:11
关键点(README.md:11):
- 把单体 peer 拆成可独立扩展的微服务(背书 / 验证 / 提交)。
- 引入交易依赖图(transaction dependency graph),跨多块安全并发验证交易。
- 排序服务采用 Arma —— 对交易摘要而非完整交易载荷做排序的分片 BFT 共识。
与经典 Fabric 的关系
来源:README.md:32-45。
相似点(README.md:34-38):
- 交易生命周期 "Execute - Order - Validate"。
- 治理模型 = X509 PKI 上的背书策略。
- 组件间用 mTLS 建立可信通道。
- MSP 与 Fabric cryptogen / Fabric-CA 兼容。
- 排序集群提供 BFT 保证,沿用相同的 broadcast/block gRPC API。
差异点(README.md:42-45):
- 编程模型:用基于 Fabric-Smart-Client / Fabric-Token-SDK 的点对点交易协商协议替代链码。
- peer 分解:把验证、提交、通知拆为独立可扩展微服务。
- 排序服务:用 Arma 协议替代经典 Fabric 的 SmartBFT / RAFT。
- 单通道:Fabric-X 当前只支持单通道,可按命名空间(namespace)分区,各自独立背书策略。
排序服务 Arma
来源:README.md:51-58。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 代码。
本仓库定位
来源:Makefile:21、integration/test/。