主题
fabric-ca · 快速开始
WARNING
本章中具体命令与目录路径仅来自源码与 README.md。本仓库 Makefile / docs/ 中的更多用法 [未核],请直接参考上游 fabric-ca 官方文档。
来自源码可确认的事实
| 项 | 值 | 出处 |
|---|---|---|
| 默认监听 | 0.0.0.0:7054 | lib/serverconfig.go:16,19 |
| 默认 DB | sqlite3(文件 fabric-ca-server.db) | lib/caconfig.go:128-129 |
| 客户端默认 URL | http://localhost:7054 | lib/clientconfig.go:34 |
| 客户端默认 MSP 目录 | msp | lib/clientconfig.go |
编译
由 cmd/fabric-ca-server 和 cmd/fabric-ca-client 两个 main 包产出二进制(README.md:58-68)。具体 Makefile 目标与 build 标签 [未核],请直接读仓库根 Makefile。
启动
服务端入口:
cmd/fabric-ca-server/main.go:26-30的main()调用RunMain(os.Args)。cmd/fabric-ca-server/servercmd.go:57-70的NewCommand(name, blockingStart)返回ServerCmd。- cobra
rootCmd在servercmd.go:77-90,含PersistentPreRunEhook。 - 子命令:
init(servercmd.go:93-109)、start(servercmd.go:111-127)、version(servercmd.go:129-136),均在ServerCmd.init()中注册。
客户端入口:
cmd/fabric-ca-client/main.go:26-29的main()调用command.RunMain(os.Args)。cmd/fabric-ca-client/command/clientcmd.go:116-123的NewCommand(name)返回ClientCmd。- 子命令常量在
clientcmd.go:30-35,含enroll/getcacert/getcainfo/gencsr(getcacert是getcainfo命令的别名,见getcainfo.go:58)。实际注册的子命令见clientcmd.go:153-169,对应源码文件register.go/enroll.go/reenroll.go/revoke.go/getcainfo.go/gencsr.go/gencrl.go/identity.go/affiliation.go/certificate.go存在。
TIP
完整的 CLI flag 列表 [未核]。请运行 fabric-ca-server start --help / fabric-ca-client --help 自查。