实例化链码时出错

时间:2018-06-20 02:52:43

标签: go hyperledger-fabric

请帮助我解决这个问题,当我实例化我的链码时发生错误:

当前,我猜是与shim软件包有关的问题,因为我已将其删除到utils软件包中,成功实例化了。

MyChainCode:

import (
    "bytes"
    "encoding/hex"
    "encoding/json"
    "fmt"
    "strconv"

    "github.com/golang/protobuf/proto"
    "github.com/hyperledger/fabric/core/chaincode/shim"
    "github.com/hyperledger/fabric/protos/msp"
    pb "github.com/hyperledger/fabric/protos/peer"
    "github.com/myproj/models"
    "github.com/myproj/packages/utils"
)

APIstub shim.ChaincodeStubInterface
...
username, _ = utils.GetCurrentUser(APIstub)
...

我的包裹

package utils

import (
    "github.com/hyperledger/fabric/core/chaincode/shim"
    "golang.org/x/crypto/bcrypt"
)

func GetCurrentUser(stub shim.ChaincodeStubInterface) (string, error) {
    cert, err := GetCreatorCert(stub)

    return cert.Subject.CommonName, err
}

问题:

  

错误:认可链码时出错:rpc错误:代码=未知desc =   错误启动容器:无法生成特定于平台的泊坞窗   内部版本:从内部版本返回错误:2“#   〜vendor / github.com / hyperledger / fabric / vendor / github.com / docker / docker / pkg / archive   〜vendor / github.com / hyperledger / fabric / vendor / github.com / docker / docker / pkg / archive / archive.go:364:5:   hdr.Format未定义(类型* tar.Header没有字段或方法格式)   〜vendor / github.com / hyperledger / fabric / vendor / github.com / docker / docker / pkg / archive / archive.go:364:15:   未定义:tar.FormatPAX   〜/ vendor / github.com / hyperledger / fabric / vendor / github.com / docker / docker / pkg / archive / archive.go:1166:7:   hdr.Format未定义(类型* tar.Header没有字段或方法格式)   〜/ vendor / github.com / hyperledger / fabric / vendor / github.com / docker / docker / pkg / archive / archive.go:1166:17:   未定义:tar.FormatPAX

织物版本1.1.0

转到1.9.2版

3 个答案:

答案 0 :(得分:1)

将Fabric升级到1.2.0后,我遇到了同样的问题。 Fabric 1.2.0需要go1.10.x。所以我将go lang升级到1.10.3,它像一个魅力一样工作。

答案 1 :(得分:0)

这可能是因为您在hyperledger / fabric文件夹中的某些文件中具有旧版本。

如果您正在遵循链码教程,则只需删除hyperledger / fabric文件夹即可。

致谢

答案 2 :(得分:0)

通过遵循文档,我遇到了同样的问题。 切换到分支“ release-1.1”即可解决该问题。

克隆存储库后,继续:

hyperleger$ cd fabric
hyperledger/fabric$ git fetch
hyperledger/fabric$ git checkout release-1.1