La prochaine méthode que nous allons ajouter notre
fonction constructrice de blockchain est appelée
createNewTransaction.
Cette méthode créera une nouvelle transaction
pour nous. Suivons ce qui suit étapes mentionnées pour
créer la méthode :
Figure IV- 62: Programmations des nouvelles
transactions
§ Tester d'ajoute des nouvelles transactions :
Chapitre IV Sécuriser un réseau bancaire avec la
blockchain
[117]
Nous allons tester notre méthode createNewTransaction
dans notre fichier test.js. Jetez un oeil à la capture d'écran
suivante pour un test rapide :
Figure IV- 63: Test d'ajoute des nouvelles
transactions
Nous pouvons observer la blockchain bitcoin sur la
fenêtre du terminal, comme le montre la capture d'écran suivante
:
Figure IV- 64: Test d'ajoute des nouvelles
transactions
On va créer un bloc, créé une
transaction, puis miné le nouveau bloc. Maintenant, la transaction nous
avons créé devrait apparaître dans notre deuxième
bloc, car nous avons miné un bloc après avoir créé
une transaction comme le montre la figure suivante :
Chapitre IV Sécuriser un réseau bancaire avec la
blockchain
[118]
Figure IV- 65: Test de miner un
bloc
§ Test de Mining un bloc :
Voyons ce que nous donne :
Figure IV- 66: Exécution de minerde deux
blocs
Nous avons à nouveau toute notre blockchain, qui contient
deux blocs parce que nous avons miné deux blocs. Notre premier bloc
(index : 1), qui n'a aucune transaction et à notre deuxième bloc
(index : 2), dans lequel, si vous regardez nos transactions, il est dit qu'il y
a un tableau qui contient des éléments par rapport à un
tableau de transactions d'un premier bloc, qui ne contient aucun
élément. Nous devons nous attendre à voir la transaction
que nous avions créée précédemment.
En faisons la modification suivante à notre
test:console.log(bitcoin.chain[1]);
Dans la sortie, vous pouvez voir que, pour les transactions, il
contient un tableau avec un objet. Découvrons la capture d'écran
suivante :
Chapitre IV Sécuriser un réseau bancaire avec la
blockchain
[119]
Figure IV- 67: Modifications sur les
transactions
Ce que nous avons fait ici était simplement de
créer une transaction, puis de miner en créant un nouveau bloc ou
en extrayant un nouveau bloc, qui contient maintenant notre transaction.
Maintenant, réalisons quelques autres exemples pour aider à
clarifier ce qui se passe ici.
Figure IV- 68: Ajout des transactions
successives
À ce stade, ces trois nouvelles transactions devraient
se trouver dans notre tableau en attente de transactions, car nous ne
créons pas de nouveau bloc après avoir créé ces
trois transactions. Enfin, nous nous déconnectons à nouveau de
notre blockchain bitcoin. Notre test devrait maintenant ressembler à ce
qui suit :
Figure IV- 69: Transactions restantes en
attente
Dans la capture d'écran précédente, vous
pouvez observer que nous avons notre blockchain. Dans cette chaîne, nous
avons deux blocs, comme nous nous y attendions, et dans notre tableau de
transactions en attente, nous avons trois transactions, qui sont les trois
transactions que nous avons créées dans notre fichier de test. Ce
que nous devons faire ensuite, c'est intégrer ces transactions en
attente dans notre chaîne. Pour cela, minons un autre bloc. Copiez et
collez simplement la méthode creatNewBlock après les trois
transactions que nous avons créées et apportons des modifications
à ses paramètres comme nous souhaitons. Lorsque nous
exécutons le test maintenant, les trois transactions en
Chapitre IV Sécuriser un réseau bancaire avec la
blockchain
[120]
attente devraient apparaître dans notre nouveau bloc en
faisant une petite modification de la dernière ligne de notre code de
test, qui est console.log (bitcoin.chain [2]); la valeur 2 spécifie ici
le troisième bloc du chaîne. Enregistrons le fichier et
exécutons le test. Vous pourrez observer la sortie suivante :
Figure IV- 70: Minage
réussi
Vous pouvez voir que nous avons les trois transactions que
nous avons créées. C'est ainsi que comment nos méthodes
createNewTransactionset createNewBlock fonctionnent ensemble.