我正进入(状态



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

安装后,我在 first-network 目录中使用以下命令来安装和实例化链码:

./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

在执行最后一个命令时,这是我得到的输出:
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" >

然后我使用命令来实例化链码,即:
peer chaincode instantiate -n fabcar -v 1.0 -C mychannel -c '{"Args":[]}' -l node

输出是这样的错误:
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

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

最佳答案

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

安装:(供引用)

peer chaincode install \
  -n mycc \
  -v 1.0 \
  -p myorg/chaincode

实例化:
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

我不必指定以下选项,尽管包括它们并没有破坏任何东西:
-P "OR ('MYORGMSP.peer')" \
-l golang \

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

关于hyperledger-fabric - 错误 : could not send: EOF on instantiating chaincode,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55394476/

10-16 08:38