光纤链代码容器nodejs无法访问npm

问题描述

感谢您对此事的帮助。

我拥有最新的映像(2.2.0,CA 1.4.8),但是在第一个对等点安装链码时出现错误

Failed to invoke chaincode lifecycle,error: timeout expired while executing transaction

我正在使用VPN来代理服务器。

我尝试为所有对等节点增加docker config的超时时间:

CORE_CHAINCODE_DEPLOYTIMEOUT=300s
CORE_CHAINCODE_STARTUPTIMEOUT=300s

该过程可以完美地进行到这一点(已创建渠道,同行加入了该渠道)。可以使用npm install手动安装chaincode。 我在任何地方都找不到答案。有人可以提供指导吗?

更新:似乎链码容器获得了boostrap(甚至被赋予了一个随机名称),但被卡在了:

+ INPUT_DIR=/chaincode/input
+ OUTPUT_DIR=/chaincode/output
+ cp -R /chaincode/input/src/. /chaincode/output
+ cd /chaincode/output
+ '[' -f package-lock.json -o -f npm-shrinkwrap.json ]
+ npm install --production

我相信这是阻止npm的代理。

我试图用以下方法解决这个问题:

npm config set proxy proxy
npm config set https-proxy proxy
npm set maxsockets 3

经过几天的努力,我找到了解决方案: -必须构建一个自定义的fabric nodeenv映像,其中包含env变量以设置npm代理变量:如node chaincode instantiate behind proxy中所示。之后,我在docker.yaml中设置了以下环境变量:

  - CORE_CHAINCODE_NODE_RUNTIME=my_custom_image
  - CORE_CHAINCODE_PULL=true

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)