2017-07-26 3 views
0

J'ai créé un service Blockchain dans mon compte IBM-Bluemix et déployé ma chaincode avec succès.

En tant que test, ma chaincode crée simplement et récupère les actifs en utilisant stub.PutState et stub.getState .

Mais tout en vérifiant l'Blockchain onglet dans le tableau de bord , je peux voir, pour chaque transaction il crée un bloc séparé pour déployer et invoquer des opérations comme ci-dessous.

enter image description here
Création de blocs séparés pour chaque transaction dans IBM-Bluemix Hyperledger Fabric V0.6

  1. Pourquoi est-il de ne pas ajouter de multiples opérations en même bloc et quand il envisage des transactions dans un seul bloc?
  2. Comment ces blocs de 4 à 6 arrivent sans contenu? Vient-il à cause d'erreurs?

J'ai traversé le Bluemix Doc, mais je n'ai pas eu une idée claire à ce sujet.

Merci d'avance.

Répondre

2

Je ne suis pas sûr des blocs "vides" bien qu'ils reflètent probablement le fait qu'il y avait une erreur dans la transaction (s) dans ces blocs spécifiques.

En ce qui concerne le nombre de transactions par bloc, il y a deux facteurs qui déterminent ceci: - taille du lot - le nombre maximum de transactions par bloc - intervalle de traitement par lots - le temps maximum entre les blocs si la taille du lot n'est pas Je crois que nous utilisons la taille de lot = 500 et l'intervalle de traitement par lots = 1 sec dans le service. Donc, pour voir plusieurs transactions/blocs, vous devrez augmenter votre taux d'invocation.

+0

Merci de votre réponse. Oui je vais essayer avec votre suggestion pour ma question 2. Et dans le cas de la question 1, je n'ai pas remarqué d'erreurs jusqu'à présent lors de mes invocations. va le vérifier une fois de plus. – Girish007

+0

Vous ne verrez peut-être aucune erreur dans vos invocations car elles sont asynchrones et tant que vous pouvez soumettre la transaction avec succès, vous obtiendrez une réponse satisfaisante. Nous avons effectivement réorganisé l'architecture de la version v1.0.X pour éviter ces types de problèmes délicats avec le traitement des transactions. Nous simulons maintenant les transactions dans la phase d'endossement (alias lors de l'invocation de chaincode) puis ordonnons les changements d'état plutôt que les commandes de chaincode réelles –

+0

U ont raison, c'était dû à quelques erreurs d'invocation. Merci – Girish007