如何解决是否可以使用 node SDK 打包 Hyperledger Fabric 链码?
我使用 hyperledger fabric V1.4.10 我创建了一个部署程序应用程序,它使用 node SDK API 安装和升级我的链代码,一切正常,但我将我的所有项目压缩在一个 zip 文件中作为工件存储,我想有一个较小的工件要存储,当然我正在添加节点模块、js 和 ts 文件,因为我不完全确定在部署过程中是否需要它们。
我希望能够使用我的部署程序应用程序中的“对等链代码包”来执行相同的操作,以便能够以有效的方式打包我的代码。
我在 SDK 中看到一个 BasePackager 类,它似乎能够打包代码,但我找不到任何使用示例。
同时查看 js 代码,我发现 install 方法可以接收一个 ChaincodeInstallRequest,它可以是 ChaincodePackageInstallRequest 或 ChaincodePathInstallRequest。
这是 index.d.ts 中的代码:
services:
qfunc:
image: qfunc
build:
context: .
dockerfile: ./Dockerfile
command: ["sh","-c","pip install debugpy -t /tmp && python /tmp/debugpy --wait-for-client --listen 0.0.0.0:5678 mytrigger\__init__.py "]
ports:
- 5678:5678
所以我想知道,是否可以使用 SDK 来打包您的代码?还是应该改用“对等链码包”选项?另外,在打包我的代码后,我可以使用 SDK 来安装它吗?还是我需要更好地使用“对等链代码安装”选项来执行此操作?
谢谢
解决方法
节点 SDK
Node SDK(目前)不包括管理功能,例如链代码的生命周期部署。如果您可以使用 peer CLI 命令,那么这可能是一个不错的选择,因为它们得到了很好的支持和维护。或者,至少有一个管理包旨在为 Node 应用程序提供此功能:https://www.npmjs.com/package/khala-fabric-admin 缺乏文档。
JAVA SDK
fabric-sdk-java API 在 HFClient 和 Channel 上有一些生命周期相关的功能:
- https://javadoc.io/doc/org.hyperledger.fabric-sdk-java/fabric-sdk-java/latest/org/hyperledger/fabric/sdk/HFClient.html
- https://javadoc.io/doc/org.hyperledger.fabric-sdk-java/fabric-sdk-java/latest/org/hyperledger/fabric/sdk/Channel.html
但是,我不确定它们是否真的与当前的 Lifecycle 部署实现保持同步,所以我不确定我会推荐依赖它们
对等链码生命周期 CLI 命令得到更好的维护和支持,因此,如果您可以使用它们,我建议改为:https://hyperledger-fabric.readthedocs.io/en/release-2.2/commands/peerlifecycle.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。