WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Sécurisation d’un réseau bancaire avec la technologie blockchain.


par Kawter et Chaimaa BOUDGHENE STAMBOULI et BOUDJEMAA
Université Abou Bekr Belkaid de Tlemcem - Master 2 réseaux et télécommunications 2020
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

IV.9 Programmation de la blockchain

IV.9.1 Introduction

Dans cette section ; nous couvrirons les points suivants :

§ Apprendre a créé une fonction de constructeur de la blockchain

§ Construire et tester les différentes méthodes

§ Comprendre la mise en oeuvre de la PoW

§ Crée et tester un genesis block

Alors, commençons !

[113]

Chapitre IV Sécuriser un réseau bancaire avec la blockchain

IV.9.2 Création de la blockchain

Exigences : J'ai construit cela dans Node.js, mais vous pouvez facilement le construire sur Repl.it si vous préférez. Nous utiliserons également le package sha256 npm pour hacher les blocs.

Si vous êtes nouveau sur Node.js, tout d'abord, vous devrez créer un nouveau répertoire, créer un index.js fichier, puis à partir de votre terminal, exécuter à npm init -y partir de votre nouveau répertoire. Cela crée un fichier package.json, qui nous permettra d'installer le package sha256. Exécutez npm i sha256 pour installer la bibliothèque sha256. Si vous êtes sur Repl.it, créez un nouveau replNodejs, installez le js-sha256package et exigez-le.

Commençons par construire notre blockchain Structure de données. Nous allons commencer par ouvrir tous les fichiers que nous avons dans notre blockchain en utilisant l'éditeur Sublime. Si vous êtes à l'aise avec n'importe quel autre éditeur, vous peut aussi l'utiliser. Ouvrez toute notre blockchain répertoire dans l'éditeur que vous préférez.

Nous allons construire notre structure de données blockchain dans le fichier dev /blockchain.js que nous avons créé dons la section précédente, Configuration du projet. Construisons cette structure de données blockchain en utilisant une fonction constructrice. Alors, commençons :

§ Maintenant que nous sommes configurés, il est temps de créer une nouvelle classe, nous avons donc un modèle que nous utiliserons pour construire chaque bloc. Chaque bloc de notre blockchain simple contiendra 3 éléments de données : l'index du bloc, la valeur de hachage du bloc qui le précède et un hachage de lui-même.

§ Pour créer notre bloc, j'utilise une classe JavaScript, mais une fonction constructeur fonctionnerait tout aussi bien car c'est vraiment tout ce qu'une classe est sous le capot. J'ai défini la fonction constructrice pour prendre toutes nos données à l'exception du hachage comme paramètres. Le bloc examinera alors l'index, l'horodatage, les données et le hachage précédent, et générera son propre hachage ou empreinte digitale.

§ Continuons à construire notre structure de données blockchain. Après avoir défini notre fonction constructeur dans la section précédente, la suivante chose que nous voulons faire avec notre fonction constructeur est de placer une méthode dans notre fonction Blockchain. Cette méthode que nous allons créer s'appellera createNewBlock. Comme son nom l'indique, cette méthode va créer un nouveau bloc pour nous. Suivons les étapes mentionnées ci-dessous pour construire notre blockchain :

[114]

Chapitre IV Sécuriser un réseau bancaire avec la blockchain

IV.9.2.1 La création d'ajoute un nouveau bloc

Figure IV- 55: Programmations d'ajoute d'un nouveau bloc

En ajoutant ces deux dernières lignes de code, notre méthode createNewBlock est prête. Fondamentalement, c'est qu'elle crée un nouveau bloc. À l'intérieur de ce bloc, nous avons nos transactions et les nouvelles transactions qui ont été créées depuis l'extraction de notre dernier bloc. Après avoir créé un nouveau bloc.

§ Test de la méthode constructeur de la blockchain :

La première chose que nous devons faire est d'exporter notre fonction constructeur Blockchain car nous allons utiliser cette fonction dans notre fichier test.js. Donc, pour exporter la fonction constructrice, nous allons aller au bas du fichier blockchain.js, taper la ligne de code suivante, puis enregistrer le fichier.

Figure IV- 56: Exportations de la fonction constructrice

Ensuite, accédez au fichier dev / test.js, car c'est ici que nous testerons notre méthode createNewBlock. Maintenant, la première chose que nous voulons faire dans notre fichier dev / test.js est d'importer notre fonction constructeur Blockchain, alors tapez ce qui suit :

Figure IV- 57: Configuration de projet bitcoin

Allez maintenant dans notre fenêtre de terminal. Ici, nous sommes actuellement dans le répertoire blockchain, et notre fichier test.js est dans notre dossier dev, alors tapez la commande suivante dans le terminal:node test.js

Chapitre IV Sécuriser un réseau bancaire avec la blockchain

[115]

Nous observerons la Blockchain dans la fenêtre du terminal, comme le montre la capture d'écran suivante :

Figure IV- 58: Création de projet bitcoin

Nous pouvons observer que Blockchain a une chaîne vide et un tableau de transactions vide. C'est exactement ce que nous attendions de la sortie.

§ Test d'ajoute des nouveaux blocs :

Nous ajouterons la ligne de code suivante : bitcoin.createNewBlock();

Ensuite, nous allons créer un hachage pour notre précédent BlockHash, suivi par un autre hachage pour notre paramètre de hachage, comme suit :

bitcoin.createNewBlock(1998,'KAWTER','BO14UD05GH19en98');

Donc, maintenant on a créé notre bitcoin. Enregistrez ce fichier et exécutez notre fichier test.js à nouveau dans le terminal. Nous aurons ensuite à observer la sortie suivante :

Figure IV- 59: Test d'ajoute un nouveau bloc

Dans la capture d'écran précédente, nous avons observé toute la structure de données de la chaîne de blocs dans la chaîne. Ce bloc a également le hachage, nonce et previous Block Hash paramètres que nous avions saisis. Il n'a aucune transaction parce que nous n'en avons pas créé transactions encore. Par conséquent, nous pouvons conclure que la méthode createNewBlockfonctionne très bien.

Maintenant, testons encore plus notre méthode en créant quelques blocs de plus dans notre chaîne. Comme elle montre la figure suivante :

Chapitre IV Sécuriser un réseau bancaire avec la blockchain

[116]

Figure IV- 60: Test de la méthode creatNewBlock

Maintenant, quand nous exécutez notre fichier test.js, nous devrions avoir trois blocs dans notre chaîne, comme le montre la capture d'écran suivante :

Figure IV- 61: Exécution de la méthode creatNewBlock

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Il existe une chose plus puissante que toutes les armées du monde, c'est une idée dont l'heure est venue"   Victor Hugo