Hyperledger configtxgen 创建 genesis.block 没有应用程序组

Hyperledger configtxgen creates genesis.block without Application Group

每当我尝试将对等点连接到通道时,我都会收到以下错误消息:

Error: proposal failed (err: rpc error: code = Unknown desc = chaincode error (status: 500, message: "JoinChain" for chainID = productionChannel failed because of validation of configuration block, because of Invalid configuration block, missing Application configuration group))

我注意到当我完成示例设置后,创世块有一个应用程序部分。但是,根据我当前的设置,创世块不包含应用程序部分。有没有办法用嵌入的应用程序实例化创世块,或者有其他方法将对等点加入通道?

我的configtx.yaml如下:

Profiles:

OneOrgOrdererGenesis:
    Orderer:
        <<: *OrdererDefaults
        Organizations:
            - *OrdererOrg
    Consortiums:
        SampleConsortium:
            Organizations:
                - *TestOrg
OneOrgChannel:
    Consortium: SampleConsortium
    Application:
        <<: *ApplicationDefaults
        Organizations:
            - *TestOrg

Organizations:
- &OrdererOrg
    Name: OrdererMSP
    ID: OrdererMSP
    MSPDir: crypto-config/ordererOrganizations/test-com/msp

- &TestOrg
    Name: TestOrgMSP
    ID: TestOrgMSP
    MSPDir: crypto-config/peerOrganizations/testorg-test-com/msp
    AnchorPeers:
        - Host: peer0-testorg-test-com
          Port: 7051

Orderer: &OrdererDefaults
OrdererType: solo
Addresses:
    - orderer-test-com:7050
BatchTimeout: 2s
BatchSize:
    MaxMessageCount: 10
    AbsoluteMaxBytes: 99 MB
    PreferredMaxBytes: 512 KB
Kafka:
    Brokers:
        - 127.0.0.1:9092

Organizations:

Application: &ApplicationDefaults
    Organizations:

如果有其他人遇到此问题,请按以下说明进行操作。 我错误地试图将同行加入创世块。创世块中不应包含应用程序部分,因为它是系统通道。这是通过使用 Fabric 的 configtxgen 工具创建的,或者让 Orderer 在首次创建时生成它。

然后您需要使用 configtxgen 或通过 CLI peer channel create 创建另一个通道块。然后您可以使用块路径的 -b 标志发出 peer channel join 命令。