Fabric实战(3)Fabric模块详解

1 Fabric核心模块及其功能

前面的实践我们发现,Fabric是一个由5个核心模块组成的程序组。分别是peer、orderer、cryptogen、configtxgen、configtxlator,他们功能如下:

模块名称 功能
peer 节点模块,负责存储区块链数据,有时候还承担背书节点角色
order 负责交易打包,区块生成
cryptogen 负责组织证书生成
configtxgen 负责生成格式化后的区块和提案文件
configtxlator 负责解析格式化后的区块和交易文件

这5个模块中peer和orderer属于系统模块,cryptogen、configtxgen和configtxlator属于工具模块。工具模块负责证书文件、区块链创世块、通道创世块等相关文件和证书生成,但是工具模块不会参与系统运行。peer模块和orderer模块作为系统模块是fabric的核心模块,启动之后会一直以进程的形式存在。

2 Fabric核心模块的通用命令选项

Fabric的5个核心模块都是基于命令行的方式运行的,在Fabric核心模块的命令选项中有一些通用选项,下面我们介绍一些这些通用选项。

1. --help选项
help选项将显示该模块的所有选项。help选项的内容分成3部分:

Available Commands:     表示该命令包含哪些子命令
Flags:                  显示当前命令的参数
Global Flags:           表示全局参数,所有子命令都可以使用

help还可以查询子命令的选项信息,命令格式如下:

模块名称   + 子命令 + --help

2.-v, --version
-v和–version的作用是相同的,都是显示当前模块的版本信息。

3 Fabric核心模块配置信息

Fabric核心模块的配置信息由配置文件、命令行选项、环境变量这三部分组成。这也是初学者容易混淆的地方,特别是三者的关系。

举个例子,peer模块有个全局选项–logging-level,这个选项会设定peer模块启动后系统日志的级别,同时在core.yaml配置文件的logging节点下面的peer子节点也可以设定peer模块的日志级别,另外环境变量CORE_LOGGING_LEVEL也可以设定peer模块的日志级别。

如果上述三种参数配置方式同时出现,peer模块会用谁的呢?通过分析源码会发现三者的优先级存在如下关系:

环境变量 > 配置文件 > 命令选项

后面我们会详细介绍Fabric5个核心模块的命令选项、配置文件、环境变量等。

你可能感兴趣的:(Fabric)