docker - HyperLedger Fabric v1.4.4:在mychannel上实例化智能合约,但出现错误

标签 docker npm hyperledger-fabric blockchain

我正在关注HyperLedger Fabric v1.4.4“编写第一个应用程序”教程[1],但是在运行代码./startFabric.sh javascript时遇到问题:

+ echo 'Instantiating smart contract on mychannel'
Instantiating smart contract on mychannel
+ docker exec -e CORE_PEER_LOCALMSPID=Org1MSP -e CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp cli peer chaincode instantiate -o orderer.example.com:7050 -C mychannel -n fabcar -l node -v 1.0 -c '{"Args":[]}' -P 'AND('\''Org1MSP.member'\'','\''Org2MSP.member'\'')' --tls --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/tlscacerts/tlsca.example.com-cert.pem --peerAddresses peer0.org1.example.com:7051 --tlsRootCertFiles /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt
2019-11-25 16:14:38.470 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 001 Using default escc
2019-11-25 16:14:38.470 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default vscc
Error: could not assemble transaction, err proposal response was not successful, error code 500, msg error starting container: error starting container: Failed to generate platform-specific docker build: Error returned from build: 1 "npm ERR! code EAI_AGAIN
npm ERR! errno EAI_AGAIN
npm ERR! request to https://registry.npmjs.org/fabric-shim failed, reason: getaddrinfo EAI_AGAIN registry.npmjs.org:443

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2019-11-25T16_17_00_000Z-debug.log
"

我认为该错误与docker镜像有关,因为它在执行以下代码时发生:
echo "Instantiating smart contract on mychannel"
docker exec \
  -e CORE_PEER_LOCALMSPID=Org1MSP \
  -e CORE_PEER_MSPCONFIGPATH=${ORG1_MSPCONFIGPATH} \
  cli \
  peer chaincode instantiate \
    -o orderer.example.com:7050 \
    -C mychannel \
    -n fabcar \
    -l "$CC_RUNTIME_LANGUAGE" \
    -v 1.0 \
    -c '{"Args":[]}' \
    -P "AND('Org1MSP.member','Org2MSP.member')" \
    --tls \
    --cafile ${ORDERER_TLS_ROOTCERT_FILE} \
    --peerAddresses peer0.org1.example.com:7051 \
    --tlsRootCertFiles ${ORG1_TLS_ROOTCERT_FILE}

我对Docker不太了解,但我正在学习。在那之前,有人可以帮助我解决这个问题吗?

[1] https://hyperledger-fabric.readthedocs.io/en/release-1.4/write_first_app.html

更新1

运行./byfn.sh up -l node时观察到相同的错误,但是./byfn.sh up没有错误。我认为错误与布料垫片有关。我仍在寻找此错误的答案。

最佳答案

实例化智能合约的命令将尝试启动新的chaincode容器,但此操作失败,因为新容器无法成功运行npm install命令。

该问题可能是Docker DNS问题,或者是由于您要连接的国家或公司而导致的npm注册表连接问题。

以下2个先前的答案将为您提供帮助:
Network calls fail during image build on corporate network

Error while running fabcar sample in javascript

关于docker - HyperLedger Fabric v1.4.4:在mychannel上实例化智能合约,但出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59037804/

相关文章:

hyperledger-fabric - Composer-playground 在 Firefox 中不工作

amazon-web-services - 使用 Docker 在本地运行 Hyperledger 时出错

python - 在 docker 容器中使用 uwsgi 和 nginx 设置 Flask 应用程序

javascript - 错误 : ER_PARSE_ERROR: You have an error in your SQL syntax;

node.js - 如何编写跨平台 npm 包装程序包并避免在不需要的 "conditional dependency"安装时出现 EBADPLATFORM 错误?

node.js - 在 mac-os-x Yosemite 上调用 "npm"时 Jenkins 构建步骤失败

javascript - super 账本 Composer : calling a query within a transaction that updated an asset returns old results

ubuntu - 在 docker 容器中配置 sendmail

bash - A如何在docker容器中使用多个终端?

linux - 我如何知道Electron需要运行哪些Debian库?