我们可以在 fabric-shim 和 fabric-contract-api 以外的链码中使用 npm 模块吗?

Can we able to use npm modules in chaincode other than fabric-shim and fabric-contract-api?

我们可以在链代码中使用 fabric-shim 和 fabric-contract-api 以外的 NPM 模块吗?

如果是这样,包在实例化时将如何安装?

是的,您可以,只需将依赖项添加到 package.json 并像往常一样在代码中要求或导入依赖项。对于在实例化期间作为构建链代码映像的一部分的 node.js 链代码,npm install --production 已完成。

是的,你可以。

例如,您可以添加 Moment.js 包以更好地处理时间和日期:

"dependencies": {
    "fabric-contract-api": "~1.4.0",
    "fabric-shim": "~1.4.0",
    "moment": "2.24.0"
},

当您实例化 通道的链代码时,收到请求的节点将全部下载依赖项。这意味着他们需要访问权限才能建立出站连接。

你拥有的依赖越多,需要获取的数据就越多,这意味着实例化将花费更长的时间。