无法在第二个对等节点上部署 fabcar 链码

Cannot deploy fabcar chaincode on second peer

我正在尝试在我的笔记本电脑和 Jetson Nano 上设置多主机网络。 我设法设置了所有内容,将两台主机加入同一频道并在主机 1(笔记本电脑)上安装 fabcar 链代码,然后我尝试从主机 1 的 CLI 将其安装在主机 2 上并收到此错误:

Error: chaincode install failed with status: 500 - failed to invoke backing implementation
of 'InstallChaincode': could not build chaincode: docker build failed: docker image build
failed: docker build failed: Error returned from build: 1 "standard_init_linux.go:228: exec
user process caused: no such file or directory"

我发现这是因为主机之间的架构差异(Nano 上的 arm64 和笔记本电脑 VM 上的 amd64),但我真的不明白如何解决这个问题。是否可以在不同架构的主机上部署链码?

有没有办法用 docker buildx 为 ARM 构建链代码映像?

如有任何建议,我们将不胜感激。谢谢。

更新 18.08:

我尝试在 host-2 上添加 CLI,然后从那里打包并安装链代码,但无论如何都失败了,出现了同样的错误。

通过在 CORE_CHAINCODE_BUILDER 变量中为 arm64 指定 fabric-ccenv 图像解决了这个问题 docker-compose.yaml 文件在对等容器变量下。我使用的图像:

- CORE_CHAINCODE_BUILDER=ottoflaherty/fabric-ccenv:arm64-2.3