Hyperledger Fabric 核心模块orderer 共识

Posted thefist11

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hyperledger Fabric 核心模块orderer 共识相关的知识,希望对你有一定的参考价值。

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

1. orderer 模块的命令和参数

help 显示帮助信息
start *启动 orderer 节点
version 显示版本信息
Show version information
benchmark 采用基准本模式运行 orderer

2. orderer 模块的配置信息

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

eg.

export set ORDERER_GENERAL_LOGLEVEL=debug
export set ORDERER_GENERAL_LISTENADDRESS=0 . 0 . 0 . 0
export set ORDERER_GENERAL_LISTENPORT=7050
export set ORDERER_GENERAL GENESISMETHOD=file
export set ORDERER GENERAL GENESISFILE=/opt/hyperledger/order/orderer . genesis .
block
export set ORDERER一GENERAL_LOCALMSPID=OrdererMSP
export set ORDERER_GENERAL_LOCALMSPDIR=/opt/hyperledger/fabr工cconfig/crypto-config/
ordererOrgan 工 zat 工 ons/qklszzn.com/orderers/orderer . qklszzn com/msp
export set ORDERER_GENERAL_ LEDGERTYPE=file
export set ORDERER_GENERAL BATCHTIMEOUT=10s
export set ORDERER_GENERAL_MAXMESS.l\\GECOUNT= 10
export set ORDERER_GENERAL_TLS一ENABLED=false
export set ORDERER_GENERAL_TLS_ PRIVATEKEY=/opt/hyperledger/fabricconfig/crypto
config/ordererOrganizations/qklsz Z口 . com/ /orderer . qklsz z口 . com/tls/server key
export set ORDERER_GENERAL_TLS_ CERTIFICATE=/opt/hyperledger/fabricconfig/
crypto-co口 f 工 g/ordererOrganizations/qklszzn . com/orderers/orderer . qklszzn . com/tls/
server crt
export set ORDERER_GENERAL_TLS_ ROOTCAS= [I opt /hyper ledger If abr 工 cconfig/cryptoconf ig/ordererOrganizations/qklszzn . com/orderers/orderer . qklszzn .c om/tls/ca . crt)

2.1 有两种方式都可以启动 orderer

如果是通过 Docker 镜像文件的方式启动 orderer ,推荐使用环境变量的配置方式;
如果是采用命令直接启动的方式,推荐将所有的信息都存放到配置文件中

3. orderer 模块配置文件详解

orderer 模块的配置文件一共 由 5 个部分组成,分别是: General 、 FileLedger 、 RAMLedge 、Kafka 、 Debug 。

3.1 General 节点相关的配置

General 节点中包含了 orderer 模块的基本控制信息
General 节点配置项的详细注释如下所示:
• LedgerType :账本的类型,有 ram 、 json 、 file 三种类型可以选择 。 ram 表示账本的数据保存在内存中, 一般用于测试环境 。 json 和 file 表示账本数据保存在文件中,在生产环境中一般推荐使用 file 。
• ListenAddress : ord巳rer 服务器监昕的地址,如果服务器有多个网卡, 一般需要指明监听的具体地址
• ListenPort : 监听端口 。
• Enabled : 启用 TLS 时的相关配置 。
• PrivateKey : 私钥文件 。
• Certificate :证书文件 。
• RootCAs :根证书文件 。
• ClientAuthEnabled :启用客户端证书验证。
• ClientRootCAs :客户端根证书 。
• LogLevel :日志级别 。
• LogFormat :日志格式 。
• GenesisMethod :初始块的来源方式,支持 provisional 或 file, provisional 表示 GenesisProfile 选项指定的内容在默认的配置文件中的配置是自动生成的,后者使用 GenesisFile指定的现成初始的文件 。
• GenesisProfile :初始块的 profile ,在 configtxgen 模块的配置文件中指定 。
• GenesisFile:初始块文件的路径 。
• LocalMSPDir: orderer 模块 msp 文件的路径 。
• LocalMSPID: orderer 模块 的编号,在 configtxgen 模块的配置文件中指定 。
• Enabled :是否启动 go 的 profile 信息 。
• Address: go 的 profile 信息的访问地址 。
• Default :采用的密码机制, SW 为软件程序实现, PKCSll 为硬件的实现方式 。
• Hash : 算法类型 。

3.2 Fi leLedger 节点相关的配置

FileLedger 节点中包含了 or由rer 模块中账本文件相关的配置信息

FileLedger 节点配置项 的详细 注释如下所示 :
• Location :账本文件的路径 。
• Prefix :账本存放在临时 目录时候的目 录名 ,如果已经指定了 Location 的值, 则该选
项无效 。
3.3 RAMLedger 节点相关的配置

RAMLedger 节点中包含了 orderer 模块的账本在 内存 中数据保存方式的相关配置信息
• HistorySize :如果 LedgerType 类型为 RAM 时内存中保存的区块的数目, 超过这个
数目的区块将被放弃

3.4 Kafka 节点相关的配置

Kafka 节点中包含 了 orderer 模块中连接 Kafka 相关的信息

4. orderer 模块TLS设置, todo

以上是关于Hyperledger Fabric 核心模块orderer 共识的主要内容,如果未能解决你的问题,请参考以下文章

Hyperledger Fabric 核心模块configtxgen工具

Hyperledger Fabric 核心模块Fabric-ca-server

Hyperledger Fabric 核心模块Fabric-ca-client

Hyperledger Fabric 核心模块orderer 共识

Hyperledger Fabric 核心模块configtxlator工具

Hyperledger Fabric 核心模块cryptogen 工具