“channel [{channel-name}]:MSP错误:通道不存在”警告无法在Hyperledger Fabric上实例化链代码

时间:2018-03-30 03:10:54

标签: hyperledger-fabric hyperledger

我正在尝试运行Hyperledger Fabric网络,该网络由单个订货人,单个同行和cli组成。要了解启动Hyperledger Fabric网络的过程,从创建与加密相关的工件到作为docker容器运行cli,我将逐个执行它们。

一切都很好,但是当我尝试实例化已安装的链代码时,对等体产生channel [reputationch]: MSP error: channel doesn't existreputationch是我的频道名称)并且实例化失败了。

(查看以下截图) enter image description here

我不确定对等节点上的这个警告会导致链代码实例化失败,但我想这就是原因。

我的crypto-config.yamlconfigtx.yaml如下所示。它们并不特别,因为我只是根据官方示例修改了一些名称。

crytp-config.yaml and configtx.yaml

基于上述yaml文件创建与加密相关的工件的脚本是:

script to create crypto-related artifacts

我在运行脚本以启动orderer,peer和cli如下所示。它调用了docker命令。

running scripts to launch an orderer, a peer, and a cli

启动cli后,我使用docker exec -it cli bash连接cli。然后,我运行三个命令,这些命令运行良好,没有错误或警告:

peer channel create -o orderer.operator.com:7050 -c reputationch -f ./channel-artifacts/reputation-channel.tx
peer channel update -o orderer.operator.com:7050 -c reputationch -f ./channel-artifacts/Company1anchors.tx
peer chaincode install -n mycc -v 1.0 -p github.com/hyperledger/fabric/examples/chaincode/go/

然后,以下命令失败。

peer chaincode instantiate -o orderer.operator.com:7050 -C reputationch -n mycc -v 1.0 -c '{"Args":["init","a", "100", "b","200"]}' -P "OR ('Company1MSP.peer')"

我的版本信息是:

  • macOS:macOS High Sierra 10.13.3
  • Go:1.10
  • Docker:版本18.03.0-ce-mac59(23608)
  • Hyperledger Fabric:1.1
    • cryptogen:1.1.0
    • configtxgen:1.1.0

对我来说,任何形式的评论或帮助都会非常棒。感谢。

1 个答案:

答案 0 :(得分:1)

基本上你也需要你的同伴加入你的频道。这似乎你不是在这里做的。如果您的同伴不加入任何频道,您将收到此错误。在安装链码之前,请确保您的对等方加入频道。 peer channel join -b $CHANNEL_NAME.block