0
votes

Impossible d'instancier le cockode sur le réseau de tissu hyperposé

J'ai essayé d'instantimer le code de chaîne bien testé sur mon réseau de tissu, mais que vous avez un problème résumé comme "Impossible d'enregistrer ChaîneCode". Il n'y a pas de trace de conteneur de codes de chaîne. J'ai testé mes codes à chaîne et ils passent tous les tests de base afin qu'il n'y ait pas de problème avec le code. Peu importe que les orgs pair je courais cela, l'instanciation continue à défaillonner.

Quelqu'un peut-il aider? P>

HyperLeger Tissu Version Tissu Contrôler la plate-forme mentionne un même bug déposé mais je ne vois pas quelle solution ils sont venus ( https://jira.hyperledger.org/browse/fab-14638 ). Ils semblent dire quelque chose sur la désignation de la version du nœud. P>

journaux CLI: p>

[flightcommandchannel][97cbe635] Exit chaincode: name:"lscc" (98834ms) 
2019-05-08 05:42:33.897 UTC [endorser] SimulateProposal -> ERRO 18f [flightcommandchannel][97cbe635] failed to invoke chaincode name:"lscc" , error: container exited with 0 
github.com/hyperledger/fabric/core/chaincode.(*RuntimeLauncher).Launch.func1 /opt/gopath/src/github.com/hyperledger/fabric/core/chaincode/runtime_launcher.go:63 runtime.goexit /opt/go/src/runtime/asm_amd64.s:1333 chaincode registration failed
2019-05-08 05:42:33.898 UTC [comm.grpc.server] 1 -> INFO 190 unary call completed grpc.service=protos.Endorser grpc.method=ProcessProposal grpc.peer_address=192.168.96.12:38100 grpc.code=OK grpc.call_duration=1m38.836283s


2 commentaires

Quelle version du tissu utilisez-vous? Et quelle version de tissu-contract-API (ou Tissu-Shim)?


J'utilise Tissu-Shim: 1.4.0 et images en tissu avec une étiquette "la plus récente"


6 Réponses :


0
votes

J'ai modifié le niveau de journalisation de la peer et je dois voir quelque chose de bizzare. Voici les journaux de code de la chaîne dans le mode de débogage.

# The endpoint this peer uses to listen for inbound chaincode connections.
# If this is commented-out, the listen address is selected to be
# the peer's address (see below) with port 7052
# chaincodeListenAddress: 0.0.0.0:7052

# The endpoint the chaincode for this peer uses to connect to the peer.
# If this is not specified, the chaincodeListenAddress address is selected.
# And if chaincodeListenAddress is not specified, address is selected from
# peer listenAddress.
# chaincodeAddress: 0.0.0.0:7052
  • tissu_logging_spec = info p> li>

  • core_chaincode_logging_shim = débogage p> li>

  • core_chaincode_logging_level = débogage p> li> ul>

    core.yaml dit p> xxx pré>

    donc je suis terminé depuis que les deux sont commentés, 7051 est utilisé comme adresse pour écouter la catégorieCode. P>


0 commentaires

0
votes

Le port 7052 est peu susceptible d'être le problème ici. C'est l'explication (de core.yaml) sur le port 7052. xxx

dans votre sortie de débogage, je vois "chaînecodebuildlevel": "1.4.1-RC1" < / p>

Je pense que vous utilisez des images en tissu pour 1.4.1-RC1.

Je suggérerais de supprimer les images Docker sur votre système et de remplacer avec 1.4.1, puis à l'aide de tissu-shim 1.4 .1 aussi pour la cohérence. Cela pourrait effacer le problème, mais constituera certainement un meilleur endroit pour poursuivre les enquêtes.

Mise à jour des commentaires suivants

avec Docker Compose, si votre groupe de conteneurs sont démarrés sur le même pont de réseau (sur la même machine hôte / VM), ils peuvent résoudre les adresses de chacun et se connecter sur n'importe quel port.

Le mappage des ports dans le Docker-compose.yaml Le fichier plante des ports de l'ordinateur hôte dans le conteneur (pas entre les conteneurs).

port 7053 utilisé pour être utilisé pour des événements dans des versions plus anciennes de tissu, mais elle n'est pas utilisée dans 1.4.1

L'erreur que vous avez maintenant affichée dans le commentaire est une résolution de nom erreur de ne pas faire avec les ports. Peut-être que vos conteneurs ne sont pas sur le même pont Docker?


3 commentaires

Merci pour la réponse. Je suis toujours confus. Dans le fichier docker-compose.yaml, je n'ai que la mappage spécifiée pour les ports 7051 et 7053 pour le pair. Comment le code de chaîne peut-il également fonctionner comme un conteneur être capable de se connecter à la pair sur 7052 sans les mappages appropriés. J'aimerais aussi savoir comment puis-je préciser la cocodelistennaddress dans la variable de Docker-Compose env des envies 7052.Aso Je cherche des connaissances sur ce qui est utilisé 7053.


S'il vous plaît lisez ma réponse ci-dessus. Je l'ai modifiée et ajouté le contenu de Core.YAML.


J'ai changé la version de mes images en tissu en 1.4.1. Toujours le même problème se pose. "ERREUR: 14 INDISPONIBLABLE: Résolution du nom Échec \ N est quelque chose qui indique à l'adresse de pair Node_env = Development Node compte.js" --Peer.address "" peer0.onesky.flighcommand.com:7052 "est fausse et inaccessible



0
votes

J'ai confronté exactement le même problème chaque fois que j'ai essayé d'instancier le code de la chaîne, j'ai reçu cette erreur

Journaux de pair: xxx

J'ai pu résoudre le changement en changeant en changeant build.gradle fichier, assurez-vous dans votre build.gradle Vous avez défini Classe principale dans attributs manifest à Votre fichier Java principal. xxx

xxx est le fichier xxx.java de votre principal () La fonction est définie

Je ne sais pas comment cela peut être fait dans le nœud. Mais j'espère que cela vous donnera l'idée.


4 commentaires

Où puis-je trouver ce fichier build.Gradle. Est-ce spécifique au tissu ou à Java?


Build.Gradle est disponible dans votre projet Java Braherle, dans le répertoire racine de projets.


OP utilise le nœud, tandis que cette réponse est spécifique à Java.


La question est étiquetée du tissu hyperposé non seulement spécifique au nœud.



1
votes

J'ai enfin trouvé le problème. J'ai manqué une variable env de spécifier dans le pair docker-compose.yaml.

" - core_vm_docker_host_vm_docker_hostconfig_networkmode = réseau_1.0 "

où Network_1.0 est le nom du réseau Docker. Bien que les messages d'erreur ne soient pas si descriptifs, j'ai pris des douleurs et reconstruisez mon projet PrevoIus où le déploiement de la chaîne a fonctionné et l'a comparé avec mon projet actuel. N'a trouvé que cette pièce manquante et après l'avoir ajoutée, à ma surprise, tout a fonctionné.


0 commentaires

0
votes

J'ai fait face au même problème de ne pas trouver de solution encore. XXX

GITUB.COM/HYPERLEDGER/FABRIC/CORE/CHAINCODE. (* runtimelauncher) .Launch.func1 /go/src/github.com/hyperlegerger/fabric/core/chaincode/runtime_launcher.go:118

Pkièche de conteneur de codes de cockode xxx

mais j'ai spécifié le CCID ici ici xxx


0 commentaires

0
votes

J'ai eu le même problème, et je l'ai goûté par Changer de pair env, et je pense que ce problème a été causé par core_peer_addressautOtOtect fort>, réel, je ne sais pas pourquoi.

i Set Core_peer_addressautOtect =. True, commenté core_peer_chaaincodeaddress et core_peer_chaaincodelistennaddress, c'est un travail. P>

mon pair env comme ceci: p>

CORE_PEER_ADDRESSAUTODETECT=true
#CORE_PEER_CHAINCODEADDRESS=peer0.org1.example.com:30012
#CORE_PEER_CHAINCODELISTENADDRESS=0.0.0.0:30012


0 commentaires