使用本地 npm 注册表在 Hyperledger Composer 中实例化 Chaincode

2023-12-29

我想在没有任何互联网连接的环境中实例化链代码。由于链码容器将发出npm install实例化后,我添加了一个名为的新容器npmregistry in the docker-composer.yml因此它与 Fabric 容器的其余部分一起配置,并且属于同一个 docker 网络 (composer_default)。请注意我正在使用fabric-tools下载自https://hyperledger.github.io/composer/latest/installing/development-tools.html https://hyperledger.github.io/composer/latest/installing/development-tools.html)

npmregistry:
    container_name: npmregistry
    image: verdaccio/verdaccio
    volumes:
      - /home/user/repo/:/verdaccio/storage/
    ports:
      - 4873:4873

在 npmConfig 配置中,我输入:registry=http://npmregistry:4873/ http://npmregistry:4873/我发出了部署 BNA 的命令

composer network install --card PeerAdmin@hlfv1 --archiveFile ~/Downloads/vehicle-manufacture-network.bna -o npmrcFile=/home/user/npmConfig

composer network start -n vehicle-manufacture-network -V 0.2.4-deploy.0 -c PeerAdmin@hlfv1 -A admin -S adminpw -f networkadmin.card

However, the chaincode container does not see, to resolve the verdaccio (npmregistry) container enter image description here

我确保 verdaccio 容器与其他容器位于同一网络中并发出wget http://npmregistry:4873/从对等容器成功。因此我“作弊”了一点,尝试将 docker 网络网关 IP 地址硬编码到 npm Config 中

registry=http://172.18.0.1:4873/

我重新开始部署,现在可以了。看到下面的 verdaccio 日志,由于没有互联网访问,它回退到本地存储库(文件夹中已提供包)

但在部署过程中,我收到以下错误:

Response from attempted peer comms was an error: Error: 8 RESOURCE_EXHAUSTED: received trailing metadata size exceeds limit

查看对等日志,我发现以下内容:

2018-04-18 00:47:41.913 UTC [util] DockerBuild -> DEBU 4b7 Attempting build with image hyperledger/fabric-ccenv:x86_64-1.1.0
2018-04-18 00:48:26.098 UTC [chaincode-platform] func1 -> ERRO 4b8 Failed to generate platform-specific docker build: Error returned from build: 1 "npm WARN deprecated [email protected] /cdn-cgi/l/email-protection: Use mz or fs-extra^3.0 with Promise Support
npm WARN deprecated [email protected] /cdn-cgi/l/email-protection: All versions below 4.0.1 of Nodemailer are deprecated. See https://nodemailer.com/status/
npm WARN deprecated [email protected] /cdn-cgi/l/email-protection: This project is unmaintained
npm WARN deprecated [email protected] /cdn-cgi/l/email-protection: If using 2.x branch, please upgrade to at least 2.1.6 to avoid a serious bug with socket data flow and an import issue introduced in 2.1.0
npm WARN deprecated [email protected] /cdn-cgi/l/email-protection: Use uuid module instead
npm WARN deprecated [email protected] /cdn-cgi/l/email-protection: This project is unmaintained
npm WARN deprecated [email protected] /cdn-cgi/l/email-protection: If using 2.x branch, please upgrade to at least 2.1.6 to avoid a serious bug with socket data flow and an import issue introduced in 2.1.0

> [email protected] /cdn-cgi/l/email-protection install /chaincode/output/node_modules/x509
> node-gyp rebuild

gyp WARN install got an error, rolling back install
gyp ERR! configure error 
gyp ERR! stack Error: getaddrinfo EAI_AGAIN nodejs.org:443
gyp ERR! stack     at Object._errnoException (util.js:1022:11)
gyp ERR! stack     at errnoException (dns.js:55:15)
gyp ERR! stack     at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:92:26)
gyp ERR! System Linux 4.13.0-38-generic
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /chaincode/output/node_modules/x509
gyp ERR! node -v v8.9.4
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok 

任何帮助表示赞赏。我的环境:

  • 作曲家0.19.0
  • 乌班图16.04
  • Hyperledger Fabric v1.1.0

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用本地 npm 注册表在 Hyperledger Composer 中实例化 Chaincode 的相关文章

随机推荐

  • python 中的方法委托

    我正在编写一个用于编排 AWS 集群的小型框架 并且有一些反复出现的常见分层模式 一种这样的模式是将实例集合收集到一个更大的对象中 然后将一些方法直接委托给所有实例 因此 我没有一遍又一遍地复制和粘贴相同的样板代码 而是使用以下模式对其进行
  • 在 C# 中提供方法的同步和异步版本

    我正在用 C 编写一个 API 我想提供公开可用方法的同步和异步版本 例如 如果我有以下功能 public int MyFunction int x int y do something here System Threading Thre
  • 为什么我的 XSL 文件不再应用于我的 XML 文件?

    我在 reports 目录中创建 xml 文件 它们引用样式表 例如 SurveyRespondentList xsl 最新的 Firefox Quantum 68 0 64 位 不接受这一点 以前的版本多年来一直有效我的报告也适用于 In
  • 缩放按钮内的可绘制对象?

    目前我的可绘制对象只是缩放到正常大小 我希望它适合我的按钮 这是它现在的样子 这是按钮的 xml
  • 如何在酒吧上制作3D效果

    I have a very simple basic bar s graphic like this one but i want to display the bars with some 3d effect like this 我只是希
  • 将 int 转换为 int[]

    我有一个数据集 我试图将数据集的所有 Id 放入数据行中 最终将其保存在 int 数组中 它不适合我 它说 Cannot implicitly convert from type int to int Dataset ds new Busi
  • 日期与闰年的差异

    我有 5 周 5 种不同的日程安排 第一周 周一至周五 上午 8 点至下午 5 点 周六和周日休息 第二周 周一至周五 上午 10 点至下午 6 点 周六和周日休息 第三周 周一至周五 上午 11 点至晚上 7 点 周六和周日休息 第四周
  • 为 Blend 和 VS 提供设计时 ViewModel 数据

    在基于 MVVM 的应用程序中 我必须在设计时提供哪些选项来提供 ViewModel 数据 以便我们的设计人员实际上可以在 Blend3 和 VS 2008 中看到一些内容 你怎么做这个 我可以利用 mc ignorable 来实现这一点吗
  • Gradle 缩小所有 javascript

    我正在尝试缩小应用程序中的所有 js 文件 我正在使用gradle js 插件 https github com eriwen gradle js plugin 我能够使用它来缩小单个文件 但我希望我的所有 js 文件都被缩小 这是我尝试过
  • Azure Pipelines 多存储库如何获取 Git 提交 ID

    对于具有多个存储库的 Azure Pipeline 如何从签出的资源存储库中获取 GIT 提交 ID 支持吗 我使用 Azure 存储库来存储管道 yaml 文件 并检查代理上的构建源以在那里进行构建 我们使用的是 Delphi 所以我们必
  • 在过滤器管道上使用多个字段 |角4

    我想知道如何使用 Pipe 使用多个输入字段来过滤 json 对象 这是我到目前为止只有一个字段按名称过滤的代码 TS members name Carl country Brazil name John country United St
  • 使用 Jquery 进行多个过滤器

    我的页面中有一些 div 使用 php jquery 构建 我想根据它们的属性过滤它们 如果有超过 1 个属性过滤 则会缩小搜索范围 div 看起来像这样 div div title Mike Whatever content 1 div
  • 将 WWW 重定向到非 WWW,或者反之亦然? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我刚刚在我的网站上进行了搜索引擎优化
  • 使用 Google Sheets API,当我输入数据时,不支持添加和更新列格式

    所以 这实际上是一个基于我上次尝试的后续问题 如何使用 API 将列添加到 Google Sheets 并在同一调用中提供列的名称和类型 https stackoverflow com questions 57259399 how to a
  • 高效的java对象图序列化

    序列化 java 对象图的最佳方法是什么 我对序列化库的要求是 1 反序列化速度 2 size 尽可能小 小于java默认序列化中的大小 3 灵活性 基于注释的定义必须序列化的内容会很好 底层文件格式并不重要 我查看了Protocol Bu
  • 具有统一初始化的 Auto 扩展为意外类型

    考虑这个用 GCC 4 7 2 编译的短程序g std c 11 test cc include
  • 使用 Susnpot Gem 进行 Solr 搜索

    我目前正在使用 sunspot gem 在我的 Rails 应用程序中实现全文搜索 通过 Sunspot Solr 在我的网站上进行的查询正在运行并返回正确的结果 但是 当我尝试使用 Solr 管理页面进行查询时 我很难显示结果 使用查询字
  • 开发截图 Chrome 扩展

    我在这里看到了很多答案 但没有一个是我要找的 我想从 chrome 扩展程序中截取我第一次看到的屏幕的屏幕截图 而无需滚动页面 并 提醒 创建的文件base64路径 我拥有所有正确的权限 permissions activeTab tabs
  • 在编译输出中包含外部类型定义

    我正在用 TypeScript 编写一个库 cjol core 它具有 JavaScript 依赖性dep 其中没有 types包可用 相反 我写了一个自定义dep d ts文件 这使得我在开发库时所有的类型都能很好地工作 一切编译都很好b
  • 使用本地 npm 注册表在 Hyperledger Composer 中实例化 Chaincode

    我想在没有任何互联网连接的环境中实例化链代码 由于链码容器将发出npm install实例化后 我添加了一个名为的新容器npmregistry in the docker composer yml因此它与 Fabric 容器的其余部分一起配