Skip to content

fabric-x-committer · 快速开始 ​

TIP

完整快速开始请见 docs/setup.md(README.md:12 指引)。本章只列源码与 Makefile 可验证的命令。

构建 ​

来源:Makefile:323-376。

命令行号用途
make build323构建所有 CMD(本地)
make build-release327Linux 多架构(amd64 / arm64 / s390x)
make build-image-%331构建 Docker 镜像(test-node、release)
make build-with-docker365在 Docker 容器内构建

Docker 镜像 ​

来源:docker/images/。

test_node 镜像 ​

来源:docker/images/test_node/Dockerfile:1-72。

项值
基础镜像postgres:18.3-alpine3.23(line 10)
ENV CONFIGS_PATH/root/config
ENV ARTIFACTS_PATH/root/artifacts
ENV BINS_PATH/root/bin
ENV 本地端点localhost 地址与端口(line 17-45)
RUN loadgen make-artifactsline 54(构建时生成创世块)
EXPOSE7050 4001 2114 7001 2117 2110(line 57)

镜像 tag 由 Makefile 决定:${image_namespace}/committer-test-node:${version},其中 image_namespace=docker.io/hyperledger(Makefile:348、Makefile:90)。

release 镜像 ​

来源:docker/images/release/Dockerfile:1-59。

项值
基础镜像registry.access.redhat.com/ubi9/ubi-minimal:9.6(line 10)
非 root 用户UID 10001(line 24)
二进制 COPY${SRC_BIN_PATH}/${TARGETOS}-${TARGETARCH}/${BIN}(line 30)
symlink/bin/entrypoint → /bin/${BIN}(line 34)
ENTRYPOINT/bin/entrypoint(line 58)
HEALTHCHECKDockerfile 未设置,仅以注释给出建议示例 healthcheck <service>(line 54-55),需在 compose / 编排层配置

启动一个服务 ​

来源:cmd/committer/start_cmd.go:25-34、cmd/committer/config.go:17-21。

sh
committer start sidecar       # 启动 Sidecar
committer start coordinator   # 启动 Coordinator
committer start vc            # 启动 Validator-Committer
committer start verifier      # 启动 Verifier
committer start query         # 启动 Query Service

健康检查(cmd/committer/healthcheck_cmd.go:19-28):

sh
committer healthcheck <service>

启动 loadgen ​

来源:cmd/loadgen/main.go:38-48。

sh
loadgen start [--only-namespace] [--only-workload]
loadgen make-artifacts

测试目标(Makefile) ​

来源:Makefile:158-202。

target行号用途
test158单元测试(不含集成、容器)
test-package-%162特定包
test-integration167集成测试(排除 DB resiliency)
test-integration-db-resiliency171DB 恢复性
test-container175容器测试
test-core-db179直接访问 DB 的组件
test-requires-db183依赖 DB 层
test-no-db187纯逻辑
test-all-db191core-db + requires-db
test-cover195覆盖率
cover-report199HTML 覆盖率
clean202删 bin
ci-local212本地完整 CI;自动管理 PostgreSQL + YugabyteDB
kill-test-docker207杀 sc_test 测试容器

基准测试 ​

来源:Makefile:220-245。

target行号
bench-loadgen220
bench-dep224
bench-preparer228
bench-sign232
bench-sidecar236
bench-serialization240
bench-deliver244

下一步 ​