《Hyperledger Fabric菜鸟进阶攻略》 —3.2 不可或缺的配置文件

举报
华章计算机 发表于 2020/02/16 20:13:10 2020/02/16
【摘要】 本节书摘来自华章计算机《Hyperledger Fabric菜鸟进阶攻略》 一书中第3章,第3.2.1节,作者是黎跃春 韩小东 付金亮  。

3.2 不可或缺的配置文件

目标

1.理解configtx.yaml配置文件中的各项含义。

2.掌握创建Orderer服务启动初始区块的命令及参数。

3.掌握创建应用通道交易配置文件的命令及参数。

3.2.1 configtx.yaml配置文件指定的核心内容

生成组织结构与身份证书、密钥之后,需要为区块链创建一个GenesisBlock(初始区块或称之为创世区块)与Channel(通道),这些内容需要通过配置定义来指定相关的信息,如指定Orderer服务的相关配置,以及当前的联盟信息、联盟中所包含的组织信息,这些信息的配置被定义在configtx.yaml文件中。核心配置内容如下。

1)Organizations部分指定OrdererOrg与PeerOrg的组织信息,其核心目的是指定各组织的名称、唯一ID及MSP的目录所在路径。

2)Capabilities部分指定通道的权限信息。

3)Application部分指定初始加入通道的组织。

4)Orderer部分指定Orderer节点的信息。

①OrdererType指定共识排序服务的实现方式,目前有两种选择(solo及Kafka);

②Addresses指定Orderer节点的服务地址与端口号;

③BatchSize指定与消息相关的批处理大小,如最大交易数量、最大字节数及建议字节数。

5)Profiles部分指定了两个模板:TwoOrgsOrdererGenesis与TwoOrgsChannel。

①TwoOrgsOrdererGenesis模板用来生成Orderer服务的初始区块文件,该模板由3部分组成。

Capabilities:指定通道的权限信息。

Orderer:指定Orderer服务的信息(OrdererOrg)及权限信息。

Consortiums:定义联盟组成成员(Org1、Org2)。

②TwoOrgsChannel模板用来生成应用通道交易配置文件,由两部分组成。

Consortium:指定联盟信息。

Application:指定组织及权限信息。

configtx.yaml配置文件完整内容如下:

---

Organizations:

  - &OrdererOrg

    Name: OrdererOrg

    ID: OrdererMSP

    MSPDir: crypto-config/ordererOrganizations/example.com/msp

 

  - &Org1

    Name: Org1MSP

    ID: Org1MSP

    MSPDir: crypto-config/peerOrganizations/org1.example.com/msp

    AnchorPeers:

      - Host: peer0.org1.example.com

        Port: 7051

 

  - &Org2

    Name: Org2MSP

    ID: Org2MSP

    MSPDir: crypto-config/peerOrganizations/org2.example.com/msp

    AnchorPeers:

      - Host: peer0.org2.example.com

        Port: 7051

 

Capabilities:

  Global: &ChannelCapabilities

    V1_1: true

 

  Orderer: &OrdererCapabilities

    V1_1: true

 

  Application: &ApplicationCapabilities

    V1_2: true

 

Application: &ApplicationDefaults

  Organizations:

 

Orderer: &OrdererDefaults

  OrdererType: solo

  Addresses:

    - orderer.example.com:7050

  BatchTimeout: 2s

  BatchSize:

    MaxMessageCount: 10

    AbsoluteMaxBytes: 99 MB

    PreferredMaxBytes: 512 KB

  Kafka:

    Brokers:

      - 127.0.0.1:9092

  Organizations:

 

Profiles:

  TwoOrgsOrdererGenesis:

    Capabilities:

      <<: *ChannelCapabilities

    Orderer:

      <<: *OrdererDefaults

      Organizations:

        - *OrdererOrg

      Capabilities:

      <<: *OrdererCapabilities

    Consortiums:

      SampleConsortium:

        Organizations:

            - *Org1

            - *Org2

  TwoOrgsChannel:

    Consortium: SampleConsortium

    Application:

      <<: *ApplicationDefaults

      Organizations:

        - *Org1

        - *Org2

      Capabilities:

        <<: *ApplicationCapabilities

在如上的示例配置文件中,由Organizations定义了3个成员OrdererOrg、Org1、Org2,并且设置每个成员的名称、唯一ID与MSP目录的位置,从而允许在Orderer Genesis块中存储每个Org的根证书;通过这些配置信息实现与Orderer服务通信的任何网络实体都可以验证其数字签名;为每个PeerOrg组织指定了相应的锚节点(Org1组织中的peer0.org1.example.com与Org2组织中的peer0.org2.example.com)。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。