错误:无法发送:实例化链码上的EOF

aja*_*tla 3 hyperledger-fabric

我正进入(状态

错误:无法发送:EOF

在HF中实例化链码。我按照正确的步骤安装了二进制文件,图像等。

安装后,我在第一个网络目录中使用了以下命令来安装和实例化链码:

./byfn.sh generate
./byfn.sh up
docker exec -it cli bash
peer chaincode install -n fabcar -v 1.0 -p github.com/chaincode/fabcar/javascript -l node
Run Code Online (Sandbox Code Playgroud)

在执行最后一个命令时,这是我得到的输出:

2019-03-28 09:22:04.047 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc
2019-03-28 09:22:04.048 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc
2019-03-28 09:22:04.950 UTC [chaincodeCmd] install -> INFO 003 Installed remotely response:<status:200 payload:"OK" >
Run Code Online (Sandbox Code Playgroud)

然后我使用命令实例化链码,即:

peer chaincode instantiate -n fabcar -v 1.0 -C mychannel -c '{"Args":[]}' -l node
Run Code Online (Sandbox Code Playgroud)

输出是这样的错误:

2019-03-28 09:23:25.743 UTC [chaincodeCmd] InitCmdFactory -> INFO 001 Retrieved channel (mychannel) orderer endpoint: orderer.example.com:7050
2019-03-28 09:23:25.747 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default escc
2019-03-28 09:23:25.747 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 003 Using default vscc
Error: could not send: EOF
Run Code Online (Sandbox Code Playgroud)

我想我错过了一些东西,但我不确定。谁能告诉我我哪里出了问题。提前致谢。

小智 8

我发现将TLS证书选项添加到实例化命令对我有用。我正在使用Golang作为我的链码语言

安装:(供参考)

peer chaincode install \
  -n mycc \
  -v 1.0 \
  -p myorg/chaincode
Run Code Online (Sandbox Code Playgroud)

实例化:

peer chaincode instantiate \
  -C mychannel \
  -n mycc \
  -v 1.0 \
  -c '{"Args":["wallet","123"]}' \
  --tls true \
  --cafile /myorg/hyperledger/fabric/peer/crypto-config/ordererOrganizations/myorg.org/orderers/orderer.myorg.org/msp/tlscacerts/tlsca.myorg.org-cert.pem
Run Code Online (Sandbox Code Playgroud)

我不必指定以下选项,尽管包括它们并没有破坏任何内容:

-P "OR ('MYORGMSP.peer')" \
-l golang \
Run Code Online (Sandbox Code Playgroud)

我更改了CLI容器以安装我的加密材料,/myorg/hyperledger/fabric/peer/crypto-config该加密材料与其他示例使用的默认位置不同。