0

我希望有人可以帮助我解决以下问题。

我将 Amazon Managed Blockchain 与框架 Hyperledge Fabric v1.4 一起使用,并遵循此文档https://docs.aws.amazon.com/managed-blockchain/latest/hyperledger-fabric-dev/get-started-create-channel .html

这是我尝试使用该命令行创建频道时遇到的错误:

  • 命令行: docker exec cli peer channel create -c mychannel -f /opt/home/mychannel.pb -o $ORDERER --cafile /opt/home/managedblockchain-tls-chain.pem --tls

  • 错误:2022-01-17 10:34:47.356 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser 和 orderer 连接已初始化错误:出现意外状态:BAD_REQUEST - 验证新通道“mychannel”的通道创建事务时出错,无法成功将更新应用于模板配置:授权更新错误:验证 DeltaSet 时出错:[组]/频道/应用程序的策略不满足:隐式策略评估失败 - 满足 0 个子策略,但此策略需要 1 个“管理员”子策略满足的政策

管理员证书位于文件夹“admin-msp”中。

我的 configxt.yaml(使用“docker exec cli configtxgen -outputCreateChannelTx /opt/home/mychannel.pb -profile OneOrgChannel -channelID mychannel --configPath /opt/home/”执行上一步时没有收到任何错误):

组织:

- &Org1
   
    Name: m-Q37N3LRUKNFDXBZ7GARMYFBYIE

    ID: m-Q37N3LRUKNFDXBZ7GARMYFBYIE
   
    Policies: &Org1Policies
        Readers:
            Type: Signature
            Rule: "OR('Org1.member')"
            # If your MSP is configured with the new NodeOUs, you might
            # want to use a more specific rule like the following:
            # Rule: "OR('Org1.admin', 'Org1.peer', 'Org1.client')"
        Writers:
            Type: Signature
            Rule: "OR('Org1.member')"
            # If your MSP is configured with the new NodeOUs, you might
            # want to use a more specific rule like the following:
            # Rule: "OR('Org1.admin', 'Org1.client')"
        Admins:
            Type: Signature
            Rule: "OR('Org1.admin')"
    # MSPDir is the filesystem path which contains the MSP configuration.
    MSPDir: /opt/home/admin-msp
    # AnchorPeers defines the location of peers which can be used for
    # cross-org gossip communication. Note, this value is only encoded in
    # the genesis block in the Application section context.
    AnchorPeers:
        - Host: 127.0.0.1
          Port: 7051

能力:

Channel: &ChannelCapabilities


    V1_4_3: true

    V1_3: false

    V1_1: false

Orderer: &OrdererCapabilities

    V1_4_2: true

    V1_1: false


Application: &ApplicationCapabilities
    
    V1_4_2: true

    V1_3: false

    V1_2: false

    V1_1: false

频道:&ChannelDefaults

Policies:
    # Who may invoke the 'Deliver' API
    Readers:
        Type: ImplicitMeta
        Rule: "ANY Readers"
    # Who may invoke the 'Broadcast' API
    Writers:
        Type: ImplicitMeta
        Rule: "ANY Writers"
    # By default, who may modify elements at this config level
    Admins:
        Type: ImplicitMeta
        Rule: "MAJORITY Admins"

Capabilities:
    <<: *ChannelCapabilities

应用程序:&ApplicationDefaults

Policies: &ApplicationDefaultPolicies
    LifecycleEndorsement:
        Type: ImplicitMeta
        Rule: "ANY Readers"
    Endorsement:
        Type: ImplicitMeta
        Rule: "ANY Readers"
    Readers:
        Type: ImplicitMeta
        Rule: "ANY Readers"
    Writers:
        Type: ImplicitMeta
        Rule: "ANY Writers"
    Admins:
        Type: ImplicitMeta
        Rule: "MAJORITY Admins"

Capabilities:
    <<: *ApplicationCapabilities

配置文件:OneOrgChannel:<<:*ChannelDefaults 联盟:AWSSystemConsortium 应用程序:<<:*ApplicationDefaults 组织:-<<:*Org1

我的 docker-compose-cli.yaml 文件:

版本:'2'

服务:

客户端:

container_name: cli

image: hyperledger/fabric-tools:1.4

tty: true

environment:

  - GOPATH=/opt/gopath

  - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock

  - FABRIC_LOGGING_SPEC=info # Set logging level to debug for more verbose logging

  - CORE_PEER_ID=cli

  - CORE_CHAINCODE_KEEPALIVE=10

  - CORE_PEER_TLS_ENABLED=true

  - CORE_PEER_TLS_ROOTCERT_FILE=/opt/home/managedblockchain-tls-chain.pem

  - CORE_PEER_LOCALMSPID=$Member

  - CORE_PEER_MSPCONFIGPATH=/opt/home/admin-msp

  - CORE_PEER_ADDRESS=$MyPeerNodeEndpoint

working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer

command: /bin/bash

volumes:

    - /var/run/:/host/var/run/

    - /home/ec2-user/fabric-samples/chaincode:/opt/gopath/src/github.com/

    - /home/ec2-user:/opt/home

提前致谢 :)。

4

0 回答 0