Skip to content

Latest commit

 

History

History
83 lines (60 loc) · 2.76 KB

README.md

File metadata and controls

83 lines (60 loc) · 2.76 KB

fgc(Fabric Generate Config)

Qodana

由于fabric证书配置复杂编写配置容易搞错,本人想着便捷于是诞生了此工具,用于生成sdk链接配置文件.

注意!!!

目前此库还不完善不过可以生成golang可用的配置

安装

方式一

go install github.com/chaunsin/fgc@latest 

此方式生成的fgc二进制可执行程序会放到$GOBIN目录下

方式二

git clone https://github.com/chaunsin/fgc.git
cd fgc
make install

执行之后会在fgc目录下生成fgc可执行文件,推荐放入到全局可引导的目录位置比如/usr/local/bin目录下

使用

生成fabric-sdk-go sdk链接配置证书

# tips: crypto-config为fabric证书目录
fgc go -i ./crypto-config

帮助

fgc -h

功能

  • 支持生成普通配置文件生成
    • 支持golang普通配置文件生成
    • 支持java普通配置文件生成
    • 支持nodejs普通配置文件生成
  • 配置文件格式
    • 支持生成yaml配置文件
    • 支持生成json配置文件(目前能生成但是配置文件未必能使用)
  • 支持生成gateway连接配置文件
    • golang网关钱包配置生成
    • java网关钱包配置生成
    • nodejs网关钱包配置生成
  • 支持sftp读取配置文件
  • 支持ftp读取配置文件

细节功能:

  • 可控制生成双tls认证连接方式
  • 生成 Metrics Operations CA模块配置
  • 可控生成文件是硬编码方式还是路径方式,以及golang环境魔法变量${FABRIC_SDK_GO_PROJECT_PATH}/${CRYPTOCONFIG_FIXTURES_PATH}
  • 支持魔法变量导入路径或者参数例如:$(pwd)或者${pwd}
  • 增加配置注释内容

问题

由于fabric组织节点服务较多,关系配置复杂,天生自带分布式属性多机部署,在实际环境中会更加恶劣,因此此工具也面临着一些配置文件需要二次修改的问题,目前碰到的痛点有如下

  1. mspid 不太容易获取
    1. docker命令方式获取?
    2. 配置区块中获取?
    3. configtx.yaml?
    4. 进入容器读取环境变量 CORE_PEER_LOCALMSPID?
    5. 使用Discover服务来获取相关配置信息,但也面临着二次配置证书公私钥等信息?
  2. 获取组织服务的真实ip、域名或端口问题
    1. 使用docker命令获取 docker ps --format "table{{.Image}}\t{{.Names}}\t{{.Ports}}" | grep "hyperledger/fabric-peer\|hyperledger/fabric-orderer" | awk '{print $2,$3}'
  3. peer下面有两个组织每个组织有两个节点,但是每个组织只生成一个节点需要排查修改(貌似没问题)