我正在尝试使用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
我收到错误
错误:出现意外状态:BAD_REQUEST
正在搜索我遇到的问题 http://hyperledgerdocs.readthedocs.io/en/latest/asset_trouble.html
因此,我尝试使用新的频道名称(旧频道名称= mychannel), 我在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
对于所有这三个我收到错误
错误:订购服务端点无效或缺失 用法: 对等渠道创建[标志]
此外,我已尝试跳过它,假设已创建频道。 因此跑了
peer channel join -b ./mychannel.block
但得到了
错误:提案失败(错误:rpc错误:代码=未知desc =链码错误(状态:500,消息:由于LedgerID已存在,无法从创世块创建分类帐))
我的操作系统是Ubuntu 16.04
答案 0 :(得分:3)
让我们尝试确保您按照docs中列出的所有步骤运行。
首先,您需要编辑 cli 部分的docker-compose-cli.yaml
文件,以注释掉负责运行频道创建和加入的自动流程:
command: /bin/bash -c './scripts/script.sh ${CHANNEL_NAME}; sleep $TIMEOUT'
E.g。
# command: /bin/bash -c './scripts/script.sh ${CHANNEL_NAME}; sleep $TIMEOUT'
您正在使用的下一个导出频道名称:
export CHANNEL_NAME=mychannel
启动网络(使用默认超时60秒):
CHANNEL_NAME=$CHANNEL_NAME docker-compose -f docker-compose-cli.yaml up -d
输入cli容器:
docker exec -it cli bash
导出环境变量:
export CHANNEL_NAME=mychannel
创建频道:
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
加入频道:
peer channel join -b mychannel.block