超级账本中的第一个网络

First network in hyperledger

我正在尝试在 Hyperledger Fabric 中的第一个网络上工作。使用以下文档 http://hyperledger-fabric.readthedocs.io/en/latest/build_network.html

我已经完成设置直到 http://hyperledger-fabric.readthedocs.io/en/latest/build_network.html#create-join-channel

但是当我 运行

peer channel create -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/channel.tx --tls $CORE_PEER_TLS_ENABLED --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem

我收到错误

Error: Got unexpected status: BAD_REQUEST

搜索我遇到的问题 http://hyperledgerdocs.readthedocs.io/en/latest/asset_trouble.html

因此我尝试使用给定的新频道名称(旧频道名称=我的频道), 我在 cmds

下面试过了

CORE_PEER_COMMITTER_LEDGER_ORDERER=orderer:7050 peer channel create -c myc1

CORE_PEER_COMMITTER_LEDGER_ORDERER=orderer.example.com:7050 peer channel create -c myc1

CORE_PEER_COMMITTER_LEDGER_ORDERER=172.18.0.2:7050 peer channel create -c myc1

对于所有三个我都得到错误

Error: Ordering service endpoint is not valid or missing Usage: peer channel create [flags]

此外,假设频道已创建,我也尝试跳过它。 因此 运行

peer channel join -b ./mychannel.block

但是得到了

Error: proposal failed (err: rpc error: code = Unknown desc = chaincode error (status: 500, message: Cannot create ledger from genesis block, due to LedgerID already exists))

我的OS是Ubuntu16.04

docker ps 请帮助

让我们尝试确保您 运行 完成 docs 中概述的所有步骤。

  1. 首先您需要编辑 docker-compose-cli.yaml 文件的 cli 部分以注释掉负责 运行 自动流程的行创建和加入频道的次数:

    command: /bin/bash -c './scripts/script.sh ${CHANNEL_NAME}; sleep $TIMEOUT'
    

例如

# command: /bin/bash -c './scripts/script.sh ${CHANNEL_NAME}; sleep $TIMEOUT'
  1. 您正在使用的下一个导出频道名称:

    export CHANNEL_NAME=mychannel

  2. 启动网络(使用默认超时 60 秒):

    CHANNEL_NAME=$CHANNEL_NAME docker-compose -f docker-compose-cli.yaml up -d

  3. 进入cli容器:

    docker exec -it cli bash

  4. 导出环境变量:

    export CHANNEL_NAME=mychannel

  5. 创建频道:

    peer channel create -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/channel.tx --tls $CORE_PEER_TLS_ENABLED --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem
    
  6. 加入频道:

    peer channel join -b mychannel.block