主题
fabric-x-committer · API 参考
gRPC Services
来源:api/servicepb/。
ValidationAndCommitService(vcservice.proto:23-31)
| RPC | 请求 → 响应 | 行号 |
|---|---|---|
StartValidateAndCommitStream | stream VcBatch → stream TxStatusBatch | 24 |
SetLastCommittedBlockNumber | BlockRef → Empty | 25 |
GetNextBlockNumberToCommit | Empty → BlockRef | 26 |
GetTransactionsStatus | TxIDsBatch → TxStatusBatch | 27 |
GetNamespacePolicies | Empty → NamespacePolicies | 28 |
GetConfigTransaction | Empty → ConfigTransaction | 29 |
SetupSystemTablesAndNamespaces | Empty → Empty | 30 |
Coordinator(coordinator.proto:20-26)
| RPC | 请求 → 响应 | 行号 |
|---|---|---|
BlockProcessing | stream CoordinatorBatch → stream TxStatusBatch | 21 |
SetLastCommittedBlockNumber | BlockRef → Empty | 22 |
GetNextBlockNumberToCommit | Empty → BlockRef | 23 |
GetTransactionsStatus | TxIDsBatch → TxStatusBatch | 24 |
NumberOfWaitingTransactionsForStatus | Empty → WaitingTransactions | 25 |
Verifier(verifier.proto:19-21)
| RPC | 请求 → 响应 | 行号 |
|---|---|---|
StartStream | stream VerifierBatch → stream TxStatusBatch | 20 |
LoadGenService(loadgen.proto:18-30)
| RPC | 请求 → 响应 | 行号 | HTTP |
|---|---|---|---|
AppendBatch | LoadGenBatch → Empty | 19 | — |
GetRateLimit | Empty → RateLimit | 20 | GET /getRateLimit |
SetRateLimit | RateLimit → Empty | 25 | POST /setRateLimit |
其他 proto
common.proto—— 共用消息类型。
CLI
committer
来源:cmd/committer/main.go:27-34。
sh
committer version
committer start <sidecar|coordinator|vc|verifier|query>
committer healthcheck <sidecar|coordinator|vc|verifier|query>服务名见 cmd/committer/config.go:17-21。
loadgen
来源:cmd/loadgen/main.go:38-48。
sh
loadgen version
loadgen start [--only-namespace] [--only-workload]
loadgen make-artifactsHTTP / 端点
仅 loadgen.proto 带有 google.api.http 注解并生成 gateway(唯一的 *.pb.gw.go 为 api/servicepb/loadgen.pb.gw.go):GetRateLimit → GET /getRateLimit、SetRateLimit → POST /setRateLimit(loadgen.proto:21-29)。committer 各服务(vc / coordinator / verifier)无 HTTP gateway。依赖:github.com/grpc-ecosystem/grpc-gateway/v2 v2.29.0(go.mod:21)。
Makefile target
来源:Makefile。
构建
| target | 行号 |
|---|---|
build | 323 |
build-release | 327 |
build-image-% | 331 |
build-with-docker | 365 |
测试
基准测试
代码生成
| target | 行号 |
|---|---|
proto | 278 |
lint-proto | 294 |
mocks | 307 |
Lint
| target | 行号 |
|---|---|
lint | 382 |
lint-go | 384 |
lint-sql | 389 |
lint-license | 393 |
full-lint-% | 398 |
full-lint | 401 |
文档生成
| target | 行号 |
|---|---|
generate-metrics-doc | 409 |
check-metrics-doc | 412 |
generate-cli-doc | 415 |
check-cli-doc | 418 |
generate-sample-tree | 421 |
check-sample-tree | 424 |
杂项
| target | 行号 |
|---|---|
ci-local | 212 |
kill-test-docker | 207 |
端口(test_node 镜像)
来源:docker/images/test_node/Dockerfile:57。
EXPOSE 7050 4001 2114 7001 2117 2110。
按 cmd/config/samples/ 内置样例配置可对应:
| 端口 | 用途 | 出处 |
|---|---|---|
7050 | mock orderer gRPC | mock-orderer.yaml:10 |
4001 | sidecar gRPC | sidecar.yaml:10 |
2114 | sidecar 监控(Prometheus / pprof) | sidecar.yaml:57 |
7001 | query service gRPC | query.yaml:10 |
2117 | query 监控(Prometheus / pprof) | query.yaml:39 |
2110 | 未在样例配置中出现,用途未核 | — |