实例化链码

时间:2017-08-23 15:26:06

标签: docker hyperledger hyperledger-fabric

这是“Chaincode for Developers Cli error terminal 3”的后续问题。我正在做Chaincode for Developers教程,当我运行命令peer chaincode instantiate -n mycc -v 0 -c '{"Args":["a","10"]}' -C myc时,我收到以下错误。 3号航站楼。

命令peer chaincode instantiate -n mycc -v 0 -c '{"Args":["a","10"]}' -C myc的输出:

  

错误:获取(myc)orderer端点时出错:错误支持GetConfigBlock:rpc错误:code = Unknown desc = chaincode错误(状态:500,消息:“GetConfigBlock”请求授权检查通道失败[myc]:[Failed to获取渠道[myc]]的政策经理

命令输出:

peer chaincode install -p chaincodedev/chaincode/sacc -n mycc -v 0
  

2017-08-23 15:10:21.852 UTC [msp] GetLocalMSP - > DEBU 001返回现有的本地MSP   2017-08-23 15:10:21.852 UTC [msp] GetDefaultSigningIdentity - > DEBU 002获取默认签名身份   2017-08-23 15:10:21.852 UTC [chaincodeCmd] checkChaincodeCmdParams - > INFO 003使用默认的escc   2017-08-23 15:10:21.852 UTC [chaincodeCmd] checkChaincodeCmdParams - > INFO 004使用默认vscc   2017-08-23 15:10:21.904 UTC [golang-platform] getCodeFromFS - > DEBU 005 getCodeFromFS chaincodedev / chaincode / sacc   2017-08-23 15:10:22.080 UTC [golang-platform] func1 - > DEBU 006丢弃GOROOT包fmt   2017-08-23 15:10:22.081 UTC [golang-platform] func1 - > DEBU 007丢弃提供的软件包github.com/hyperledger/fabric/core/chaincode/shim   2017-08-23 15:10:22.081 UTC [golang-platform] func1 - > DEBU 008丢弃提供的软件包github.com/hyperledger/fabric/protos/peer   2017-08-23 15:10:22.082 UTC [golang-platform] GetDeploymentPayload - > DEBU 009完成了   2017-08-23 15:10:22.085 UTC [msp / identity]签名 - > DEBU 00a标志:明文:0AA3080A5B08031A0B08DEB5F6CC0510 ... DF65FC130000FFFFF65F638E00120000   2017-08-23 15:10:22.085 UTC [msp / identity]签名 - > DEBU 00b标志:消化:00E981BB0FC2A7D32706156C0F2E1521E5B62F58E231787D87B2CB57CD10C3FA   2017-08-23 15:10:22.089 UTC [chaincodeCmd] install - > DEBU 00c安装远程响应:   2017-08-23 15:10:22.089 UTC [main] main - > INFO 00d退出.....

我不得不注释掉这行

command: /bin/bash -c './script.sh

在文件“docker-compose-simple.yaml中,以便运行命令

docker exec -it cli bash

谁能告诉我如何解决这个问题?

4 个答案:

答案 0 :(得分:1)

好吧,我可以看到一些问题可能是你所描述错误的根本原因。首先请注意,在实例化命令期间:

peer chaincode instantiate -n mycc -v 0 -c '{"Args":["a","10"]}' -C myc

你没有指向订购服务,因为instantiate是一个认可交易,最终它必须提交给订购服务,因此它应该是这样的:

peer chaincode instantiate -o ordererEndpoint:7050 -n mycc -v 0 -c '{"Args":["a","10"]}' -C myc

请注意,您收到的错误会提示您,因为它说无法获取配置块:

  

错误:获取(myc)orderer端点时出错:错误支持GetConfigBlock:rpc错误:code = Unknown desc = chaincode错误(状态:500,消息:“GetConfigBlock”请求授权检查通道失败[myc]:[Failed to获取渠道[myc]]的政策经理

此外,请确保myc是现有频道,并且您事先已正确创建频道。你可以这样做:

peer channel list

检索同伴加入的频道列表。

答案 1 :(得分:0)

您禁用的脚本具有创建通道和加入对等通道的命令,这些是使用链代码进行调用的先决条件。

答案 2 :(得分:0)

我认为您的问题是由图片版本引起的。您正在使用1.0.1,您应该更改为1.0.0。检查版本代码是否为

sudo docker images

答案 3 :(得分:0)

如果要在Windows7上使用docker工具箱来运行开发人员教程,则需要更改行尾符号,以便在scripts.sh中与Unix兼容。您可以使用notepadd ++->编辑-> EOL转换->选择Unix。