Hyperledger configtxgen创建没有应用程序组

时间:2018-03-15 16:10:48

标签: hyperledger-fabric blockchain hyperledger

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

  

错误:提案失败(错误:rpc错误:代码=未知desc =链代码错误(状态:500,消息:“JoinChain”for chainID = productionChannel因配置块验证失败,因为配置块无效,缺少应用程序配置组))

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

我的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:

1 个答案:

答案 0 :(得分:0)

如果还有其他人遇到这个问题,这就是正在发生的事情。 我错误地试图加入同伴到创世块。创世块不应该包含应用程序部分,因为它是系统通道。这可以通过使用Fabric中的configtxgen工具创建,也可以在Orderer首次创建时生成它。

然后,您需要使用configtxgen或CLI peer channel join创建另一个通道块。然后,您可以使用-b标志发出df1['A Int'] = df1['A'].astype(int) df2['A Int'] = df2['A'].astype(int) merged = pd.merge_asof(df1, df2, on='A Int', direction='nearest, tolerance=1) 命令作为块的路径。