La structure v0.6 invoke est un processus asynchrone et le seul moyen d'obtenir une indication de succès ou d'échec est d'utiliser le framework d'événements intégré. Section 3.5 of Fabric Protocol Specification contains Event related information Cette structure d'événement génère 3 types d'événements.
- événements Bloquer
- événements rejet
- événements de Chaincode
Si vous êtes intéressé par la détection d'une exécution chaincode réussie, alors vous devriez suivre pour événements bloc. Vous devez juste surveiller l'occurrence d'un message d'événement de bloc contenant l'UUID que vous avez reçu lorsque vous avez soumis la transaction Invoke. Si vous voulez garder une trace des échecs Chaincode, alors vous devez suivre événements de rejet également. Encore une fois, suivez le message contenant votre UUID comme TxId. Veuillez noter qu'en cas d'événement de rejet, un événement de bloc ne serait pas créé. Et vice versa. Les exemples de structure ont un exemple d'implémentation qui peut être utilisé pour donner une idée sur la façon d'écrire du code. https://github.com/hyperledger/fabric/tree/master/examples/events/block-listener
Veuillez noter que depuis Hyperledger Fabric v1.x.x, l'architecture est entièrement différente. La réponse ci-dessus a été donnée à une question posée dans le contexte de Hyperledger Fabric v0.6