首页 > 解决方案 > 错误:获取链码字节时出错:列出包的依赖项 ../asset-transfer-basic/chaincode-go/ 失败:退出状态 2

问题描述

我目前正在尝试按照超级账本结构文档的说明在我的频道上使用我的链码。我试图在不同的网站上回答,但没有一个能真正帮助我。我附上我的终端的屏幕截图以进一步澄清。在此处输入图像描述

标签: hyperledger-fabricblockchainhyperledgersmartcontracts

解决方案


问题与 go path 有关,它依赖于不同的包。

请正确设置 go path 和 go code 的依赖包。

您可以查看以下链接。链接:https ://hyperledger-fabric.readthedocs.io/en/release-2.2/chaincode4ade.html#managing-external-dependencies-for-chaincode-written-in-go

从文档:

您的 Go 链码依赖于不属于标准库的 Go 包(如链码 shim)。当安装到对等点时,这些包的源代码必须包含在您的链代码包中。如果您已将链代码构建为模块,那么最简单的方法是在打包链代码之前使用 go mod vendor “供应”依赖项。

go mod tidy
go mod vendor

这会将您的链代码的外部依赖项放置到本地供应商目录中。

一旦在您的链码目录中提供了依赖项,对等链码包对等链码安装操作就会将与依赖项关联的代码包含到链码包中。


推荐阅读