J'ai mon propre réseau et essayez d'utiliser le code de chaîne chaînecode_example02 pour le tester, après l'exemple du premier réseau. En ce qui concerne la chaînecodeinvoke dans mon shellCIPT, la console montre
Sending invoke transaction on peer0.bank peer0.caseManager... --tlsRootCertFiles --peerAddresses peer0.bank.snts.com:7051 --tlsRootCertFiles --tlsRootCertFiles --peerAddresses peer0.bank.snts.com:7051 --tlsRootCertFiles --peerAddresses peer0.caseManager.snts.com:7051 --tlsRootCertFiles + peer chaincode invoke -o orderer.snts.com:7050 --tls true --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/snts.com/orderers/orderer.snts.com/msp/tlscacerts/tlsca.snts.com-cert.pem -C sntschannel -n mycc --peerAddresses peer0.bank.snts.com:7051 --tlsRootCertFiles --peerAddresses peer0.caseManager.snts.com:7051 --tlsRootCertFiles -c '{"Args":["invoke","a","b","10"]}' + res=1 + set +x 2019-01-01 16:38:40.670 UTC [chaincodeCmd] validatePeerConnectionParameters -> WARN 001 received more TLS root cert files (2) than peer addresses (1) Error: error validating peer connection parameters: number of peer addresses (1) does not match the number of TLS root cert files (2) !!!!!!!!!!!!!!! Invoke execution on peer0.bank peer0.caseManager failed !!!!!!!!!!!!!!!! ========= ERROR !!! FAILED to execute End-2-End Scenario ===========
4 Réponses :
Dans votre demande, vous avez utilisé le drapeau --Tlsrootcerfiles mais n'a précisé aucun chemin pour cela? Ensurez-vous cela à l'extérieur? Sinon, essayez de la spécifier comme p>
- TLSROOTCERTFILES /OPT/GOPATH/SRC/github.com/hyperlegerger/fabric/peer/crypto/peerorganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt p> blockQuote>
Le problème est avec la façon dont TLSInfo est récupéré.
La commande ci-dessous est utilisée dans le fichier utils.sh où nous mentionnons le fichier TLCert. Vous devez le modifier en fonction de votre exigence.
Vous devez modifier les variables globales afin qu'elles soient génériques.
Il est nécessaire de changer, dans la méthode En conséquence, les chemins d'environnement de chaque pair seront automatiquement mis à jour avec les numéros $ pair et $ org au lieu de la récupération des chemins globaux peerx_orgy_ca définis au sommet du fichier. p> p>
Passez le chemin de fichier ca.crt pour les pairs respectifs dans --TlSrootcertFiles P>
Essayez ceci et ça marche p>
docker exécuté -it cli bash p>
PEER SATCHCODE INVOKE -OCHARDER.EXAMLE.EXELLECOMMAIRE TRUE --CAFILE /PTLS/GOPATH/SRC/GITHUB.COM/HYPERLETGER/FABRIC/PREER/Example.com/orderers/orderer .Example.com / MSP / TLSCACETTS / TLSCA.EXAMSAMT.COM-CERT.PEM -C TestChannel -N MyCC --Peeraddresses peer0.org1.example.com:7051 - TlsrootcertFiles / opt / gopath / src / github .com / HyperDger / Tissu / peer / Crypto / peerororganizations / Org1.Example.com / peers / peer0.org1.example.com / TLS / CA.CRT --Peeeraddresses peer0.org2.example.com:7051 --TlsrootcertFiles / Opt / GOPATH / SRC / GITUB.COM / HYPERLEDGER / TISSU / ECONE / CRYPTO / PEEROROGANISATIONS / ORG2.EXAMAMLECOM / PEVERS / EF-PEER0.ORG2.Example.com / TLS / CA.CRT STRUT> -C '{" Args ": [" invoqué "," A "," B "," 20 "]} ' p>