Hyperledger Fabric配置文件解析-orderer.yaml

orderer.yaml是orderer节点的配置文件,凡是orderer需要设置的内容,全在这里找。该orderer.yaml示例配置文件指定了如下五大部分内容。

1.General部分

General部分是orderer.yaml配置文件的基础配置信息部分,主要指定配置如下:
在这里插入图片描述

  1. LedgerType指定分类账本类型。
  2. ListenAddress与ListenPort指定节点监听地址及端口号。
  3. TLS部分指定是否启用TLS验证、TLS证书、签名私钥、信任的根CA证书信息。
  4. Keepalive指定与客户端的连接信息。
  5. LogLevel与LogFormat指定日志级别与日志输出格式。
  6. GenesisMethod、GenesisProfile、GenesisFile指定生成初始区块相关的信息。
  7. LocalMSPDir与LocalMSPID指定MSP目录所在路径及MSP的ID。
  8. BCCSP部分主要指定区块链的加密实现方式,默认为SW(SoftWare),即软件基础的加密方式。

2.FileLedger部分

如果指定分类账本类型为文件类型,则通过FileLedger部分配置文件账本的相关信息。

Location指定区块链的本地存储路径。

Prefix指定临时空间中的前缀名称(未指定Location时)。

3.RAMLedger部分

如果分类账本指定不使用文件账本类型,而是内存账本类型时,则需要通过HistorySize属性指定在内存中保存区块的最大数量。

4.Kafka部分

如果Orderer服务使用Kafka实现排序服务,则进行相关的配置信息指定:

Retry指定连接到Kafka的重试请求信息。

Verbose指定是否启用日志记录。

TLS指定Orderer连接到Kafka的TLS相关设置,包括是否启动TLS,指定TLS密钥、证书及可信任的CA根证书。

Version指定Kafka的版本信息。

5.Debug部分

此部分配置信息相对简单,主要指定广播服务与交付服务的请求保存目录。

全文配置文件参考和解析:

# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#
 
---
################################################################################
#
#   Orderer Configuration
#
#   - This controls the type and configuration of the orderer.
#
################################################################################
General:
    # 监听地址
    ListenAddress: 127.0.0.1
 
    # 监听端口号
    ListenPort: 7050
 
    # GRPC服务器的TLS设置
    TLS:
        # 在实际生产网络中,应该使用 TLS 安全通信,这个值应该是true
        # 默认不启用
        Enabled: false 
        # 提供 TLS CA 为此节点生成的私钥的路径和文件名。
        PrivateKey: tls/server.key
        # 提供 TLS CA 为该节点生成的公共证书(也称为签名证书)的路径和文件名。
        Certificate: tls/server.crt
        # (应注释掉)此参数通常未设置以供正常使用。
        # 它是附加根证书的路径列表,用于在出站连接期间验证其他排序节点的证书。
        # 它可用于扩充每个通道配置的 MSP 中可用的 TLS CA 证书集。
        # 可信任的根CA证书
        RootCAs:
          - tls/ca.crt
        ClientAuthRequired: false
        ClientRootCAs:
 
    # GRPC服务器的激活设置
    Keepalive:
        # # 客户机ping之间的最小允许时间(除非通过测试确定有必要,否则不应覆盖默认值)
        ServerMinInterval: 60s
        # 连接到客户机的ping之间的时间(除非通过测试确定有必要,否则不应覆盖默认值)
        ServerInterval: 7200s
        # 服务器等待响应的超时时间(除非通过测试确定有必要,否则不应覆盖默认值)
        ServerTimeout: 20s
 
    # 由于所有节点都应该一致,建议将MaxRecVMGSize和MaxSendMsgSize的默认值保持为100MB
    # GRPC服务器和客户端可以接收的最大消息大小(字节)
    MaxRecvMsgSize: 104857600
    # GRPC服务器和客户端可以发送的最大消息大小(字节)
    MaxSendMsgSize: 104857600
 
    # 与其他订购服务节点(如基于Raft的订购服务)通信的订购服务节点的群集设置。
    Cluster:
        # SendBufferSize 是缓冲区中的最大消息数。
        # 如果缓冲区已满,共识消息将被丢弃,交易消息就会被等待去释放。
        SendBufferSize: 10
 
        # 管理客户端TLS证书的文件位置用于与其他订购服务节点建立相互TLS连接。
        # 如果未设置,则服务器将处于常规状态。TLS证书被重复使用
        ClientCertificate:
        # 管理客户端TLS证书的私钥的文件位置。
 

你可能感兴趣的:(区块链,fabric,区块链)