主题
fabric-x · 模块详解
本仓库 submodule:fabric-x/。本章引用的所有路径均为相对于该 submodule 根。
tools/ — 4 个 CLI
来源:Makefile:21、tools/。configtxgen / cryptogen 是薄封装,委托给 fabric-x-common;configtxlator 本仓库实现 CLI 接线(encode / decode / compute_update 包装函数,tools/configtxlator/main.go:133-242),但 REST 路由(rest.NewRouter)、config-update 计算(update.Compute)、proto 编解码(protolator)均 import 自 fabric-x-common(main.go:32-34、:124、:221);fxconfig 为本仓库完整实现(tools/fxconfig/main.go、internal/)。
| 工具 | 目录 | 关键文件 |
|---|---|---|
configtxgen | tools/configtxgen/ | main.go、main_test.go(委托 fabric-x-common/tools/configtxgen) |
configtxlator | tools/configtxlator/ | main.go(子命令 start / proto_encode / proto_decode / compute_update / version) |
cryptogen | tools/cryptogen/ | main.go、main_test.go(委托 fabric-x-common/tools/cryptogen) |
fxconfig | tools/fxconfig/ | main.go,见下 |
fxconfig 子结构
来源:tools/fxconfig/docs/README.md(421 行)、tools/fxconfig/。
| 路径 | 用途 |
|---|---|
internal/app/ | 命名空间 create / list / update、endorse / merge / submit、deploy、policy |
internal/cli/v1/ | CLI 命令(namespace、tx、info、version) |
internal/transaction/ | 事务 namespace / 版本 / 背书 / 政策 / 合并 |
internal/config/ | 配置加载与校验 |
internal/client/ | orderer / 查询 / 通知客户端 |
internal/msp/ | MSP 签名身份 |
internal/validation/ | 验证逻辑 |
internal/adapters/、internal/provider/、internal/logging/ | 适配器 / provider / 日志 |
integration/ | 集成测试(single-org / multi-org) |
详细命令与 flag 见 tools/fxconfig/docs/README.md。
integration/test/ — E2E 测试套件
来源:integration/test/README.md、integration/test/。
| 项 | 内容 |
|---|---|
build-e2e.sh | 构建 orderer(arma-4p1s)+ committer(committer-test-node)镜像 + 工具 |
run-e2e.sh | 完整 E2E:~10,000 TXs 负载,验证 ≥ 5,000 提交 |
clean.sh | 清理容器 / 卷 / 网络 / 工件 |
clean-docker.sh | 仅清理 Docker(容器 + 网络) |
docker-compose.yaml | arma + committer + loadgen + 监控栈 |
loadgen.yaml | loadgen 配置 |
refs.conf | 组件 ref 默认值与镜像名 |
fxconfig-peer-org-{0,1}.yaml | 多组织背书配置 |
networkconfig/ | configtx.yaml / arma_config.yaml / crypto-config.yaml |
ordererconfig/ | base.yaml.tpl + 4 个角色文件(router / assembler / batcher / consenter) |
committerconfig/ | 5 个微服务配置(sidecar / coordinator / verifier / vc / query) |
prometheus/、grafana/ | 监控配置 / 仪表板 |
diagrams/
| PNG | 内容 |
|---|---|
Fabric_vs_Fabric-X.png | 经典 Fabric vs Fabric-X 对比 |
Fabric-X-Orderer.png | Orderer 4 层架构 |
Fabric-X-Committer.png | Committer 微服务架构 |
scripts/
| 脚本 | 用途 |
|---|---|
license-lint.sh | 检查 Apache-2.0 SPDX 头;忽略 json/pem/yaml/go/pbbin/png/cfg/pptx、go.sum、testdata/ 等 |
help_docs.sh | 生成 / 校验 docs/cli/ 下各 CLI 的帮助文档 |
Dockerfile
来源:Dockerfile:11-71。详见 02-architecture · 容器化构建。
Makefile target
来源:Makefile。
| target | 行号 |
|---|---|
help | 34 |
tools | 39 |
generate | 47 |
test | 52 |
clean | 67 |
lint | 73 |
BUILD_DIR ?= bin(:12)、GO_TAGS ?=(:17)、MAKEFLAGS += --jobs=16(:30)。
go.mod 依赖
详见 02-architecture · go.mod 关键依赖。
看代码推荐路径
README.md→ 理解 Fabric-X 整体定位。integration/test/README.md→ 了解 E2E 如何把组件串起来。tools/fxconfig/docs/README.md→ 命名空间管理命令集。tools/configtxgen/main.go+tools/cryptogen/main.go→ 最小工具实现。Dockerfile→ 镜像产物。