我正在尝试运行Hyperledger Fabric网络,该网络由单个订货人,单个同行和cli组成 . 要了解启动Hyperledger Fabric网络的过程,从创建与加密相关的工件到作为docker容器运行cli,我将逐个执行它们 .
一切都还可以,但是当我尝试实例化已安装的链代码时,对等体产生 channel [reputationch]: MSP error: channel doesn't exist
( reputationch
是我的 Channels 名称)并且实例化失败了 .
(查看下面的截图)
我不确定对等节点上的这个警告会导致链代码实例化的失败,但我想这就是原因 .
我的 crypto-config.yaml
和 configtx.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 回答
基本上你也需要你的同伴加入你的 Channels . 这似乎你不是在这里做的 . 如果您的同伴不加入任何 Channels ,您将收到此错误 . 在安装链码之前,请确保您的对等方加入 Channels .
peer channel join -b $CHANNEL_NAME.block