1

Hi to all who can help.

Currently developing a chaincode for fabric version 1.0. The problem is, even after vendoring, when I do the deployment, I get this error.

[DEBUG] instantiate-chaincode - 
============ Instantiate chaincode on organization XYZ ============

error: [client-utils.js]: sendPeersProposal - Promise is rejected: Error: Error starting container: Failed to generate platform-specific docker build: Error returned from build: 1 "chaincode/input/src/XYZ/vendor/github.com/hyperledger/fabric/bccsp/factory/pluginfactory.go:12:2: cannot find package "plugin" in any of:
        /chaincode/input/src/XYZ/vendor/plugin (vendor tree)
        /opt/go/src/plugin (from $GOROOT)
        /chaincode/input/src/plugin (from $GOPATH)
        /opt/gopath/src/plugin
"
    at /usr/src/app/node_modules/grpc/src/node/src/client.js:434:17
error: [client-utils.js]: sendPeersProposal - Promise is rejected: Error: Error starting container: Failed to generate platform-specific docker build: Error returned from build: 1 "chaincode/input/src/XYZ/vendor/github.com/hyperledger/fabric/bccsp/factory/pluginfactory.go:12:2: cannot find package "plugin" in any of:
        /chaincode/input/src/XYZ/vendor/plugin (vendor tree)
        /opt/go/src/plugin (from $GOROOT)
        /chaincode/input/src/plugin (from $GOPATH)
        /opt/gopath/src/plugin
"

The fabric images that I'm using are:

  • hyperledger/fabric-peer:x86_64-1.0.3
  • hyperledger/fabric-ca:x86_64-1.0.3
  • hyperledger/fabric-tools:x86_64-1.0.3
  • hyperledger/fabric-couchdb:x86_64-0.4.6
  • hyperledger/fabric-orderer:x86_64-1.0.3
  • You'll need to make sure you vendor the proper version of Fabric here. Which Fabric packages are you vendoring and which tool (e.g. govendor) are you using? – Gari Singh Apr 14 '18 at 10:39
  • I'm using govendor from github.com/kardianos/govendor I've also passed the project to an inside folder of hyperledger fabric, and just do the usual commands for the govendor. – João Antunes Apr 15 '18 at 23:28
  • 2 solutions: 1) Move to Fabric v1.1 which was just recently released 2) I was unable to get govendor to work properly in terms of pulling down the right version of Fabric. So you could do a "go get" for "github.com/hyperledger/fabric", then "cd $GOPATH/src/github.com/hyperleger/fabric", then "git checkout v1.0.3" and then go back to your chaincode project and do "govendor add ..." for whichever Fabric packages you need. – Gari Singh Apr 16 '18 at 07:28
  • Thank you Gari Singh. that was the solution. – João Antunes Apr 17 '18 at 14:54

1 Answers1

1

This answer was provided by Gari Singh, on a comment above:

2 solutions: 1) Move to Fabric v1.1 which was just recently released 2) I was unable to get govendor to work properly in terms of pulling down the right version of Fabric. So you could do a "go get" for "github.com/hyperledger/fabric", then "cd $GOPATH/src/github.com/hyperleger/fabric", then "git checkout v1.0.3" and then go back to your chaincode project and do "govendor add ..." for whichever Fabric packages you need. – Gari Singh