主题
fabric-x-sdk · 配置
本仓库以包形式分发,无运行时配置。本章列出 example 与测试相关的配置事实。
Makefile 变量与镜像
来源:Makefile:22-39。
| 项 | 值 |
|---|---|
| committer 镜像 | docker.io/hyperledger/fabric-x-committer-test-node:0.1.9 |
| 端口 | 4001 / 2110 / 2114 / 2117 / 7001 / 7050 / 5433 |
容器 env 注入:
SC_SIDECAR_ORDERER_IDENTITY_MSP_DIRSC_SIDECAR_ORDERER_IDENTITY_MSP_IDSC_SIDECAR_ORDERER_CHANNEL_IDSC_SIDECAR_ORDERER_SIGNED_ENVELOPESSC_QUERY_SERVICE_SERVER_ENDPOINTSC_ORDERER_BLOCK_SIZE
各 env 的合法值与含义 [未核] —— 上游 fabric-x-committer 项目定义。
example/endorser 配置
来源:example/endorser/README.md:180-195、example/endorser/cmd/endorser/main.go:38-61。
- 配置文件:YAML,通过
-c/--config指定(必填)。 - env 前缀:
ENDORSER_(覆盖 YAML 字段,如ENDORSER_SERVER_ENDPOINT_PORT)。 - TLS 模式:
none/tls/mtls。 - 日志:
--log-levelflag(默认INFO)。 - 配置样例:
example/endorser/sampleconfig/,含fab-*/fabx-*的 client 与 endorser 各 6 个文件。
config.Config 结构(example/endorser/config/config.go)顶层键:
| YAML 键 | Go 字段 | 行号 |
|---|---|---|
channel-id | ChannelID | 23 |
protocol(fabric / fabric-x,默认 fabric-x) | Protocol | 38 |
database.connection-string | Database.ConnStr | 115 |
identity.msp-id / identity.msp-dir | IdentityConfig.MspID / MSPDir | 47-48 |
server / committer(各含 endpoint 与 tls) | — | — |
logging(logSpec / format) | — | — |
TLS 配置(network.TLSConfig)
来源:network/tls.go:18-42、network/peer.go:37-72。
NewPeer(PeerConf) / NewOrderer(OrdererConf) 均含一个 TLSConfig 字段:
| 字段 | 说明 |
|---|---|
Mode | none / tls / mtls(常量 TLSModeNone / TLSModeTLS / TLSModeMTLS,tls.go:37-39) |
CertPath | 客户端证书路径(mtls 必填) |
KeyPath | 客户端私钥路径(mtls 必填) |
CACertPaths | 校验对端的 CA 证书路径列表(tls/mtls 必填) |
ServerName | 覆盖 TLS SNI / 证书校验用的 server name(即 hostname override) |
最低 TLS 版本 DefaultTLSMinVersion = tls.VersionTLS13(tls.go:41)。NewPeer 另设 gRPC backoff(backoff.DefaultConfig,MinConnectTimeout 10s,peer.go:59-62)。
SQLite 数据库
来源:state/db.go:25-54。
| 模式 | 函数 | 行为 |
|---|---|---|
| 只读 | NewReadDB | WAL,多并发连接 |
| 读写 | NewWriteDB | 单连接,自动建表 |
依赖:modernc.org/sqlite v1.48.0(go.mod:18)。
go.mod 关键依赖
详见 02-architecture · 与依赖项目的关系。
没有 Dockerfile
整个仓库无任何 Dockerfile(含 example/)。
CI 配置
.github/workflows/tests.yml:在 push/PR 上运行 make checks 与 make unit-tests。