2016-07-20 24 views
3

Ich verwende Hyperledger, um an einem POC zu arbeiten. Ich habe das Kettencode-Setup wie erwähnt here eingestellt. Ich folge der Option 1, die in dem Link erwähnt wird (mit vagrant, um einen CA-Server und einen VP auszuführen). In meiner aktuellen Einrichtung läuft ich mit deaktivierter Sicherheit. Mein VP läuft gut, und ich bin in der Lage, die chaincode einfach gut zu starten und registrieren (wie pro here erwähnte aber, wenn ich versuche, meine chaincode via CLI mit dem folgenden Befehl zu implementieren.Hyperledger Benutzerdefinierte Chaincode-Bereitstellung Fehler

peer chaincode deploy -n mycc -c '{"Function":"init", "Args": `["hi there"]}'` 

ich erhalte die folgenden Fehler

Error: Error building chaincode: rpc error: code = 2 desc = "Error getting chaincode package bytes: Cannot generate hashcode from empty chaincode path" 

ich hat versucht, speziell den Pfad zu erwähnen, wo ich meine benutzerdefinierte chaincode gespeichert habe ich die folgende Fehlermeldung erhalten:

Error: Error building chaincode: rpc error: code = 2 desc = "Path to chaincode does not exist: /opt/gopath/src/ProductBC/ProductBC/finished/" 

Hat sich jemand mit einem ähnlichen Problem oder irgendwelchen Punkten konfrontiert, was getan werden kann, um dies zu überwinden?

Antwort

5

Es sieht so aus, als ob Sie den vollständigen Pfad zu Ihrem Chaincode "/ opt/gopath/src/ProductBC/ProductBC/finished /" verwenden, aber peer wird standardmäßig versuchen, den Chaincode in Ihrem gopath zu finden.

Versuchen Sie stattdessen, den CLI-Befehl mit "ProductBC/ProductBC/finished /" auszuführen.

peer chaincode deploy -p ProductBC/ProductBC/finished -c '{"Function":"init", "Args": `["hi there"]}'` 

in diesem Fall Peer wird versuchen, diese chaincode in $ GOPATH zu finden/src/ProductBC/ProductBC/fertig

P. S. Nach Diskussion im Chat aktualisiert.

+0

Also, mein GOPATH ist '/ opt/gopath /' und meine Chaincode befindet sich im Verzeichnis '/ src'. Also, ich habe versucht mit dem folgenden Befehl: "Peer-Chaincode deploy -p/src/ProduktBC/ProductBC/fertig -n mycc-c '{" Funktion ":" init "," Args ":" ["Hallo"] } "", es wirft jetzt keinen Fehler, aber scheint zu stecken. Die Frage wurde mit dem neuen Status aktualisiert. – tortuga

+0

'src' ist nicht erforderlich. Können Sie versuchen, diesen Befehl ohne es auszuführen? (nur das Beispiel in der Antwort aktualisiert) –

+0

durch den Neustart des Peers Sie meinen, den Peer wieder über 'make peer' zu bauen oder einfach den Peer durch den 'peer node start' Befehl neu zu starten? – tortuga