使用 Node.js 版本 16 执行链代码

Use Node.js version 16 for chaincode execution

我是来自 fabric-samples (asset-transfer-basic/chaincode-javascript) 的 运行 JavaScript/TypeScript 链码,我需要 Node.js 版本为 16 而不是 12。

我认为将 Node.js 版本设置为 12.16.1 的是 hyperledger/fabric-nodeenv 图像,但我不知道如何更改它。 https://hub.docker.com/layers/fabric-nodeenv/hyperledger/fabric-nodeenv/2.4.1/images/sha256-53ec564ee28ed1fcee3be9ed1459bcc98a22fc0d81e5a707239425615641786a?context=explore

文档说 v2.4 模块使用 Node.js 的 16.4.0 版和 v2.2/2.3、12.16.1 版。但我使用的是最新版本的 Fabric (2.4.2)。 https://github.com/hyperledger/fabric-chaincode-node/blob/main/COMPATIBILITY.md

我使用 ./network.sh deployCC 来部署链代码。

通过创建和上传 fabric-nodeenv 图像 (https://github.com/hyperledger/fabric-chaincode-node/tree/main/docker/fabric-nodeenv) 的更新版本并在 fabric-samples/test-network/compose/compose-test-net.yaml[=11= 中定义 CORE_CHAINCODE_NODE_RUNTIME env var 解决了这个问题]

官方 hyperledger/fabric-nodeenv docker 映像将更新为在即将发布的 v2.4.2 中使用 Node 16。发布。