问题:
由于区块链的分布式特征,对其中配置进行更新和管理是一件很有挑战性的任务,一旦出现不同节点之间配置不一样,就可能导致整个网络功能异常。
fabric解决方案:
执行配置文件更新操作,像应用交易一样经过网络中的节点确认
因此可以使用辅助工具configtxgen(Configuration Transaction Generator),它可以配合cryptogen生成的组织结构身份文件使用,离线声称跟通道有关的配置信息,相关的实现在common/configtx下
configtxgen主要功能如下:
1.生成启动Order需要的初始区块,并支持检查区块内容
2.生成创建应用道通需要的配置交易,并支持检查交易内容
3.生成锚点Peer的更新配置交易
默认情况下,configtxgen工具从$FABRIC__CFG__PATH(/etc/hyperledger/fabric)路径下查找configtx.yaml配置文件并读入。
环境变量中以CONFIFTX_前缀开头的变量也会被作为配置项。
configtx.yaml配置文件:
包含4部分:Profiles、Orangization、Orderer和Appliaction
Profiles:一系列通道配置模板,包含Orderer系统通道模板和应用通道类型模板
Organization:一些列组织结构定义,被其他部分引用
Order:Orderer系统通道相关配置,包含orderer服务配置和参与Ordering服务的可用组织信息
Application:应用通道相关配置,主要包含应用网络的可用组织信息