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-noderelease
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/hyperledgerMakefile:348Makefile: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-34cmd/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-docker207sc_test 测试容器

基准测试

来源:Makefile:220-245

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

下一步