背书者使用错误“找不到包”实例化Chaincode

时间:2020-06-11 08:35:19

标签: go hyperledger-fabric hyperledger-chaincode

我创建了一个链码,并将一个包导入其中。

services.AddAutoMapper(config =>
{
  var enumMapper = config.Mappers.Single(m => m is AutoMapper.Mappers.EnumToEnumMapper);
  config.Mappers.Remove(enumMapper);
}, typeof(Startup));

我可以将该链码安装到所有背书人。但是当我实例化给所有背书人时,它遇到了错误:

import (
"bytes"
"encoding/json"
"fmt"
"strings"
"golang.org/x/crypto/bcrypt"
"github.com/hyperledger/fabric/core/chaincode/shim"
    pb "github.com/hyperledger/fabric/protos/peer")

我试图将endorser failed with error starting container: error starting container: Failed to generate platform-specific docker build: Error returned from build: 1 "/chaincode/input/src/github.com/marbles02/marbles_chaincode.go:85:2: cannot find package "golang.org/x/crypto/bcrypt" in any of: /usr/local/go/src/golang.org/x/crypto/bcrypt (from $GOROOT) /chaincode/input/src/golang.org/x/crypto/bcrypt (from $GOPATH) /go/src/golang.org/x/crypto/bcrypt 软件包复制到根目录中的golang.org/x/crypto/bcrypt,但是它具有相同的错误。

1 个答案:

答案 0 :(得分:2)

尝试使用以下命令在chaincode目录中安装依赖项:

  1. go mod init将创建go.modgo.sum文件。
  2. go mod vendor用于创建vendor目录。

此外,如果使用fabric:v2.X.X,则shimpeer软件包将移至其他库。 因此,请在chaincode.go文件中将peershim软件包更改为下面的内容。

  1. peer-> github.com/hyperledger/fabric-protos-go/peer
  2. shim-> github.com/hyperledger/fabric-chaincode-go/shim

在运行peer命令之前,请确保添加shimgo mod init更改,或者如果您已经有vendor目录,请尝试go mod tidy然后再{ {1}}命令来更新软件包。