Fabric 创世块和通道文件的生成

本文详细介绍了Hyperledger Fabric中configtxgen工具的使用,包括命令选项、配置文件修改以及创世块和通道文件的生成。同时讲解了配置文件的各个部分,如Organizations、Orderer和Application的设置,并强调了节点ID、锚节点选择和配置文件中关键参数的注意事项。此外,还涵盖了更新锚节点的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、configtxgen命令介绍

configtxgen --help

-asOrg 组织名称

-channelID channel的名字,不指定使用默认的testchainid

-outputAnchorPeersUpdate 更新peer锚节点的配置信息

-outputBlock 输出创世块文件路径

-outputCreateChannelTx 输出通道的文件路径

-profile 指定配置文件中的节点

不常用:

-inspectBlock 在指定路径处打印块中包含的配置

-inspectChannelCreateTx 在指定路径处打印交易中包含的配置

二、修改配置文件

1.配置文件已存在,叫configtx.yaml,文件名字不能修改,因为configtxgen命令没有指定配置文件的参数,使用默认的

2.配置文件路径:sampleconfig/configtx.yaml

3.拷贝配置文件到自己的目录下

三、配置信息介绍

#   Section: Organizations
Organizations:
    # orderer 组织
    - &OrdererOrg          # 组织名称
        Name: OrdererMSP   # 组织名称
        ID: OrdererMSP     # MSP id
        MSPDir: crypto-config/ordererOrganizations/example.com/msp  # msp路径
    #peer组织
    - &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

#   SECTION: Orderer
Orderer: &OrdererDefaults    # 不用改,使用默认即可
    OrdererType: solo        # 共识机制类型,solo,kafka
    Addresses:               # 地址
        - orderer.example.com:7050    # 域名:端口号,默认是7050
    BatchTimeout: 2s                  # 批次,多长时间产生新的区块
    BatchSize:                        # 批次大小
        MaxMessageCount: 100          #交易的最大数量,达到后产生新的区块,100条左右
        AbsoluteMaxBytes: 64 MB       # 数据量达到后产生新的区块,32或64MB左右
        PreferredMaxBytes: 512 KB     #建议的交易数值大小,512KB即可
    MaxChannels: 0                    # 最大通道数
    Kafka:                            # kafka信息
        Brokers:
            - 127.0.0.1:9092
    Organizations:

Application: &ApplicationDefaults
    Organizations:

#   Profiles
Profiles:
    GenGenesis:    # 创世块命令的配置
        Orderer:
            <<: *OrdererDefaults
            Organizations:
                - *OrdererOrg
        Consortiums:
            SampleConsortium:    # 这个可以改,下面Consortium的值也要着改
                Organizations:   # peer节点组织
                    - *Org1
                    - *Org2
    GenChannel:                  # 通道命令配置
        Consortium: SampleConsortium  #和上面Consortiums下面的SampleConsortium保持一致
        Application:
            <<: *ApplicationDefaults
            Organizations:        # peer节点
                - *Org1
                - *Org2

注意:

  • 节点的id和name最好保持一致

  • 锚节点只能有一个

  • key: value :和value之间是有空格

    • Host: peer1.example.com
    • Port: 7051 host和port对齐

四、生成创世块

进入存放configtx.yaml配置文件的路径

生成创世块命令:

configtxgen -profile GenGenesis(配置文件中profiles下的创世块命令) -outputBlock ./genesis.block(存放文件的路径,后缀为.block)

五、生成通道文件

进入存放configtx.yaml配置文件的路径

channelID: 使用小写

configtxgen -profile GenChannel -channelID zlktchannel -outputCreateChannelTx ./channel.tx

其中GenChannel为 (配置文件中profiles下的通道命令);./channel.tx(存放文件的路径,后缀为.tx)

chmod 775 channel.tx genesis.block

六、更新锚节点

进入存放configtx.yaml配置文件的路径

configtxgen -profile GenChannel(这里是通道的命令)

--channelID zlktChannel(所属哪个通道)

-asOrg (配置文件中peer节点设置的组织名字,Name的名称)

-outputAnchorPeersUpdate anchorPeers.tx(后缀是tx,名字最好和节点名字有关系,可能多个节点都会更新锚节点)

e.g.:

configtxgen -profile GenChannel -outputAnchorPeersUpdate ./Org1MSPAnchorUpdate.tx -asOrg Org1MSP -channelID zlktChannel

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值