Pelajaran 2

Construire la structure de la blockchain

Dans cette leçon, nous nous concentrerons sur la construction de la structure de la blockchain. Nous définirons les fonctions et méthodes nécessaires pour créer et gérer des blocs, ajouter des blocs à la blockchain et valider l'intégrité de la chaîne.

2.1 Création de la classe Blockchain

  1. Ouvrez le fichier blockchain.py dans votre éditeur de code.

  2. Définissez une classe Blockchain: Cette classe représentera la chaîne de blocs et contiendra les méthodes nécessaires pour gérer les blocs et la chaîne elle-même.

    Python
    pythonCopy code
    class Blockchain :
     def __init__(self) :
     self.chain = []
    

    Ce code définit une classe Blockchain avec une liste vide appelée chain pour stocker les blocs.

2.2 Ajouter des blocs à la blockchain

  1. Implémentez la méthode add_block: Cette méthode sera utilisée pour ajouter des blocs à la blockchain. Elle prend en paramètre un objet bloc et l'ajoute à la chaîne.

    Python
    pythonCopy code
    class Blockchain :
     def __init__(self) :
     self.chain = []
    
     def add_block(self, block) :
     self.chain.append(block)
    

    Ce code ajoute la méthode add_block à la classe Blockchain.

  2. Testez l'ajout de blocs à la blockchain : Dans la partie principale de votre code, après la définition de la classe, créez une nouvelle instance de la classe Blockchain. Ensuite, créez un nouvel objet bloc et ajoutez-le à la blockchain à l'aide de la méthode add_block.
    ```
    Python
    code pythonCopy
    blockchain = Blockchain()

Créer un nouveau bloc

new_block = Block(1, datetime.datetime.now(), "Sample Data", "previous_hash", 0)

Ajouter le bloc à la blockchain

blockchain.add_block(new_block)

Ce code crée une nouvelle instance de la classe `Blockchain`, crée un nouvel objet bloc avec quelques données d'échantillon, et l'ajoute à la blockchain en utilisant la méthode `add_block`.


## 2.3 Valider la blockchain



1. 
Implémentez la méthode `is_valid` : Cette méthode sera utilisée pour valider l'intégrité de la blockchain. Il parcourt chaque bloc de la chaîne et vérifie que le hachage de chaque bloc correspond au hachage du bloc précédent.

Python
pythonCopier le code
classe Blockchain :
def init(self) :
self.chain = []

def add_block(self, block) :
 self.chain.append(block)

def is_valid(self) :
 for i in range(1, len(self.chain)) :
        bloc_courant = self.chain[i]
        bloc_précédent = self.chain[i - 1]
 if current_block.previous_hash != previous_block.hash() :
            return Falsereturn True
Ce code ajoute la méthode `is_valid` à la classe `Blockchain`.

1. 
Testez la validation de la blockchain : Après avoir ajouté des blocs à la blockchain, appelez la méthode `is_valid` pour vérifier si la blockchain est valide.

Python
pythonCopier le code

Créer des blocs et les ajouter à la blockchain# Valider la blockchain si blockchain.is_valid() :

print("La blockchain est valide.")

else :
print("La chaîne de blocs n'est pas valide.")



Ce code valide la blockchain en appelant la méthode `is_valid` et imprime un message approprié en fonction du résultat.


## 2.4 Test de la blockchain


1. 
Ajoutez d'autres blocs à la blockchain : Créez des blocs supplémentaires en utilisant des données différentes et les hachages précédents et ajoutez-les à la blockchain en utilisant la méthode `add_block`.
Python
pythonCopy code
#Créer d'autres blocs
block2 = Block(2, datetime.datetime.now(), "Plus de données", new_block.hash(), 0)
block3 = Block(3, datetime.datetime.now(), "Encore plus de données", block2.hash(), 0)

#Ajouter les blocs à la blockchain
blockchain.add_block(block2)
blockchain.add_block(block3)
Ce code crée deux blocs supplémentaires et les ajoute à la blockchain.

1. 
Testez à nouveau la validation de la blockchain : Après avoir ajouté les nouveaux blocs, appelez la méthode `is_valid` pour vérifier la validité de la blockchain.
Python
pythonCopy code
# Valider la blockchainif blockchain.is_valid() :
print("La blockchain est valide.")
else :
print("Blockchain is invalid.")
```

Ce code valide la blockchain et imprime le résultat.

2.5 Conclusion

Dans cette leçon, nous avons construit la structure de notre blockchain. Nous avons créé une classe Blockchain et implémenté des méthodes pour ajouter des blocs à la chaîne et valider son intégrité. Nous avons également testé la blockchain en ajoutant des blocs et en vérifiant sa validité.

Pernyataan Formal
* Investasi Kripto melibatkan risiko besar. Lanjutkan dengan hati-hati. Kursus ini tidak dimaksudkan sebagai nasihat investasi.
* Kursus ini dibuat oleh penulis yang telah bergabung dengan Gate Learn. Setiap opini yang dibagikan oleh penulis tidak mewakili Gate Learn.
Katalog
Pelajaran 2

Construire la structure de la blockchain

Dans cette leçon, nous nous concentrerons sur la construction de la structure de la blockchain. Nous définirons les fonctions et méthodes nécessaires pour créer et gérer des blocs, ajouter des blocs à la blockchain et valider l'intégrité de la chaîne.

2.1 Création de la classe Blockchain

  1. Ouvrez le fichier blockchain.py dans votre éditeur de code.

  2. Définissez une classe Blockchain: Cette classe représentera la chaîne de blocs et contiendra les méthodes nécessaires pour gérer les blocs et la chaîne elle-même.

    Python
    pythonCopy code
    class Blockchain :
     def __init__(self) :
     self.chain = []
    

    Ce code définit une classe Blockchain avec une liste vide appelée chain pour stocker les blocs.

2.2 Ajouter des blocs à la blockchain

  1. Implémentez la méthode add_block: Cette méthode sera utilisée pour ajouter des blocs à la blockchain. Elle prend en paramètre un objet bloc et l'ajoute à la chaîne.

    Python
    pythonCopy code
    class Blockchain :
     def __init__(self) :
     self.chain = []
    
     def add_block(self, block) :
     self.chain.append(block)
    

    Ce code ajoute la méthode add_block à la classe Blockchain.

  2. Testez l'ajout de blocs à la blockchain : Dans la partie principale de votre code, après la définition de la classe, créez une nouvelle instance de la classe Blockchain. Ensuite, créez un nouvel objet bloc et ajoutez-le à la blockchain à l'aide de la méthode add_block.
    ```
    Python
    code pythonCopy
    blockchain = Blockchain()

Créer un nouveau bloc

new_block = Block(1, datetime.datetime.now(), "Sample Data", "previous_hash", 0)

Ajouter le bloc à la blockchain

blockchain.add_block(new_block)

Ce code crée une nouvelle instance de la classe `Blockchain`, crée un nouvel objet bloc avec quelques données d'échantillon, et l'ajoute à la blockchain en utilisant la méthode `add_block`.


## 2.3 Valider la blockchain



1. 
Implémentez la méthode `is_valid` : Cette méthode sera utilisée pour valider l'intégrité de la blockchain. Il parcourt chaque bloc de la chaîne et vérifie que le hachage de chaque bloc correspond au hachage du bloc précédent.

Python
pythonCopier le code
classe Blockchain :
def init(self) :
self.chain = []

def add_block(self, block) :
 self.chain.append(block)

def is_valid(self) :
 for i in range(1, len(self.chain)) :
        bloc_courant = self.chain[i]
        bloc_précédent = self.chain[i - 1]
 if current_block.previous_hash != previous_block.hash() :
            return Falsereturn True
Ce code ajoute la méthode `is_valid` à la classe `Blockchain`.

1. 
Testez la validation de la blockchain : Après avoir ajouté des blocs à la blockchain, appelez la méthode `is_valid` pour vérifier si la blockchain est valide.

Python
pythonCopier le code

Créer des blocs et les ajouter à la blockchain# Valider la blockchain si blockchain.is_valid() :

print("La blockchain est valide.")

else :
print("La chaîne de blocs n'est pas valide.")



Ce code valide la blockchain en appelant la méthode `is_valid` et imprime un message approprié en fonction du résultat.


## 2.4 Test de la blockchain


1. 
Ajoutez d'autres blocs à la blockchain : Créez des blocs supplémentaires en utilisant des données différentes et les hachages précédents et ajoutez-les à la blockchain en utilisant la méthode `add_block`.
Python
pythonCopy code
#Créer d'autres blocs
block2 = Block(2, datetime.datetime.now(), "Plus de données", new_block.hash(), 0)
block3 = Block(3, datetime.datetime.now(), "Encore plus de données", block2.hash(), 0)

#Ajouter les blocs à la blockchain
blockchain.add_block(block2)
blockchain.add_block(block3)
Ce code crée deux blocs supplémentaires et les ajoute à la blockchain.

1. 
Testez à nouveau la validation de la blockchain : Après avoir ajouté les nouveaux blocs, appelez la méthode `is_valid` pour vérifier la validité de la blockchain.
Python
pythonCopy code
# Valider la blockchainif blockchain.is_valid() :
print("La blockchain est valide.")
else :
print("Blockchain is invalid.")
```

Ce code valide la blockchain et imprime le résultat.

2.5 Conclusion

Dans cette leçon, nous avons construit la structure de notre blockchain. Nous avons créé une classe Blockchain et implémenté des méthodes pour ajouter des blocs à la chaîne et valider son intégrité. Nous avons également testé la blockchain en ajoutant des blocs et en vérifiant sa validité.

Pernyataan Formal
* Investasi Kripto melibatkan risiko besar. Lanjutkan dengan hati-hati. Kursus ini tidak dimaksudkan sebagai nasihat investasi.
* Kursus ini dibuat oleh penulis yang telah bergabung dengan Gate Learn. Setiap opini yang dibagikan oleh penulis tidak mewakili Gate Learn.