0

我已经在 Hyperledger Fabric 1.4.7 中完成了基本设置,并让所有对等方都加入了频道。在 golang 中探索了链码之后,我开始尝试链码安装命令,我在这一步遇到了问题。

错误

错误:获取链码代码时出错 mycc:链码的路径不存在:/home/user899/go/src/chaincode

我刚跑的时候go run chaincode.go

错误

chaincode.go:7:2:在以下任何一个中都找不到包“github.com/hyperledger/fabric-chaincode-go/shim”:/usr/lib/go-1.14/src/github.com/hyperledger/fabric-chaincode -go/shim(来自 $GOROOT)/home/user899/go/src/github.com/hyperledger/fabric-chaincode-go/shim(来自 $GOPATH)chaincode.go:8:2:找不到包“github. com/hyperledger/fabric-protos-go/peer”在以下任何一个中:/usr/lib/go-1.14/src/github.com/hyperledger/fabric-protos-go/peer(来自 $GOROOT)/home/user899/ go/src/github.com/hyperledger/fabric-protos-go/peer(来自 $GOPATH)

环境

echo $GOPATH
/home/user899/go

Chaincode location
/home/user899/SoloNetwork/chaincode

任何人都可以帮忙。

谢谢

4

1 回答 1

0

我在回答我自己的问题。这是解决方案,我不知道Go 中需要遵循的目录结构。

所以首先,我在终端中检查了我的 GOPATH(通常是我们可以编写所有 go 文件的工作区)go env,它位于home/dev/go

关于目录结构,应遵循以下内容:-

$GOPATH + /src/github.com/chaincode,所以最终的结构将home/dev/go/src/github.com/chaincode在链码中。我可以放置所有 Go 文件。

所以从这里获取链码文件后,我已经放置在上面的位置并执行了以下命令

  • go mod init
  • go mod tidy

然后,我能够执行 peer chaincode install commad

peer chaincode install -n mycc -p "github.com/chaincode" -v 1.0

命令-p "github.com/chaincode"中的这里是我创建的文件夹名称。

所以最后链码路径是由这些创建的:$GOPATH + src + -p flag

如果有人遇到,请转到二进制相关问题,将您的 GOROOT 路径设置为安装 go 的 bin 位置。

于 2021-08-22T11:21:19.033 回答