orderer模块

orderer模块负责对交易进行排序,并将排好序的交易打包成区块。

1.orderer模块的命令和参数

blob.png

2.orderer模块的配置信息

orderer模块配置信息可以用环境变量或者配置文件的方式来配置,环境变量的配置示例如下所示:

blob.png

blob.png

orderer模块配置文件示例如下所示:

blob.png

blob.png

blob.png

这两种方式都可以启动orderer。在具体操作中,如果是通过Docker镜像文件的方式启动orderer,推荐使用环境变量的配置方式;如果是采用命令直接启动的方式,推荐将所有的信息都存放到配置文件中。

3.orderer模块配置文件详解

orderer模块的配置文件一共由5个部分组成,分别是:General、FileLedger、RAMLedger、Kafka、Debug。下面将分别介绍这5个部分的配置信息。

(1)General节点相关的配置

General节点中包含了orderer模块的基本控制信息。General节点的配置示例如下:

blob.png

General节点配置项的详细注释如下所示:

·LedgerType:账本的类型,有ram、json、file三种类型可以选择。ram表示账本的数据保存在内存中,一般用于测试环境。json和file表示账本数据保存在文件中,在生产环境中一般推荐使用file。

·ListenAddress:orderer服务器监听的地址,如果服务器有多个网卡,一般需要指明监听的具体地址。

·ListenPort:监听端口。

·Enabled:启用TLS时的相关配置。

·PrivateKey:私钥文件。

·Certificate:证书文件。

·RootCAs:根证书文件。

·ClientAuthEnabled:启用客户端证书验证。

·ClientRootCAs:客户端根证书。

·LogLevel:日志级别。

·LogFormat:日志格式。

·GenesisMethod:初始块的来源方式,支持provisional或file,provisional表示Genesis Profile选项指定的内容在默认的配置文件中的配置是自动生成的,后者使用GenesisFile指定的现成初始的文件。

·GenesisProfile:初始块的profile,在configtxgen模块的配置文件中指定。

·GenesisFile:初始块文件的路径。

·LocalMSPDir:orderer模块msp文件的路径。

·LocalMSPID:orderer模块的编号,在configtxgen模块的配置文件中指定。

·Enabled:是否启动go的profile信息。·Address:go的profile信息的访问地址。

·Default:采用的密码机制,SW为软件程序实现,PKCS11为硬件的实现方式。

·Hash:算法类型。

(2)FileLedger节点相关的配置

FileLedger节点中包含了orderer模块中账本文件相关的配置信息。FileLedger节点的配置示例如下:

blob.png

blob.png

FileLedger节点配置项的详细注释如下所示:

·Location:账本文件的路径。

·Prefix:账本存放在临时目录时候的目录名,如果已经指定了Location的值,则该选项无效。

(3)RAMLedger节点相关的配置

RAMLedger节点中包含了orderer模块的账本在内存中数据保存方式的相关配置信息。RAMLedger节点的配置示例如下:

blob.png

RAMLedger节点配置项的详细注释如下所示:

·HistorySize:如果LedgerType类型为RAM时内存中保存的区块的数目,超过这个数目的区块将被放弃。

(4)Kafka节点相关的配置

Kafka节点中包含了orderer模块中连接Kafka相关的信息,注意:如果orderer节点的排序模式选择了solo,那么该节点的所有配置均无效。Kafka节点的配置示例如下:

blob.png

blob.png

Kafka节点配置项的详细注释如下所示:

·Retry:如果orderer在启动的时候,Kafka还没有启动或者Kafka宕机时重试的次数。

·ShortInterval:操作失败短重试状态下重试的时间间隔。

·ShortTotal:短重试状态下最多重试的时间。

·LongInterval:长重试状态下重试的时间间隔。

·LongTotal:长重试状态下最多重试时间。

·DialTimeout:等待超时时间。

·ReadTimeout:读超时时间。

·WriteTimeout:写超时时间。

·RetryBackoff:Kafka集群选举leader的元数据。

·RetryMax:Kafka集群选举leader的元数据。

·RetryBackoff:者消息超时时间。

·Verbose:Kafka客户端的日志级别,在orderer的运行日志中显示Kafka的日志信息。

·Enabled:是否启动TLS。

·PrivateKey:私钥前面。

certificate:Kafka的证书。

rootCAs:验证Kafka的根证书。

version:Kafka的版本号(本书完稿时,Fabric最新源代码中的默认版本是0.10.2.0)。

(5)Debug节点相关的配置

Debug节点中包含了orderer模块调试相关的选项。Debug节点的配置示例如下:

blob.png

868区块链学习网为您整理《orderer模块》仅供参考。