الدرس رقم 2

Побудова структури блокчейну

У цьому уроці ми зосередимося на побудові структури блокчейна. Ми визначимо необхідні функції та методи для створення та керування блоками, додавання блоків до блокчейну та перевірки цілісності ланцюжка.

2.1 Створення класу Blockchain

  1. Відкрийте файл blockchain.py у своєму редакторі коду.

  2. Визначте клас Blockchain : цей клас представлятиме блокчейн і містить необхідні методи для керування блоками та самим ланцюжком.

    Python 
     код pythonCopy 
     клас Blockchain: 
     def __init__(self): 
     self.chain = []
    

    Цей код визначає клас Blockchain із порожнім списком під назвою chain для зберігання блоків.

2.2 Додавання блоків до Blockchain

  1. Реалізуйте метод add_block : цей метод буде використовуватися для додавання блоків до блокчейну. Він візьме об’єкт блоку як параметр і додасть його до ланцюжка.

    Python 
     код pythonCopy 
     клас Blockchain: 
     def __init__(self): 
     self.chain = [] 
    
     def add_block(self, block): 
     self.chain.append(block)
    

    Цей код додає метод add_block до класу Blockchain .

  2. Перевірте додавання блоків до блокчейну: в основній частині коду після визначення класу створіть новий екземпляр класу Blockchain . Потім створіть новий блоковий об’єкт і додайте його до блокчейну за допомогою методу add_block .
    ```
    Python
    pythonКопіювати код
    blockchain = Blockchain()

Створіть новий блок

new_block = Блокувати(1, datetime.datetime.now(), «Зразок даних», «попередній_хеш», 0)

Додайте блок до блокчейну

blockchain.add_block(новий_блок)

Цей код створює новий екземпляр класу `Blockchain`, створює новий об’єкт блоку з деякими зразками даних і додає його до ланцюжка блоків за допомогою методу `add_block`.


## 2.3 Перевірка ланцюга блоків 



 1. 
 Застосуйте метод `is_valid`: цей метод використовуватиметься для перевірки цілісності ланцюга блоків. Він перебирає кожен блок у ланцюжку та перевіряє, чи хеш кожного блоку відповідає хешу попереднього блоку.

Python
pythonКопіювати код
клас Blockchain:
def init(self):
self.chain = []

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

def is_valid(self): 
 для i в діапазоні(1, len(self.chain)):
        current_block = self.chain[i]
        попередній_блок = self.chain[i - 1] 
 якщо current_block.previous_hash != previous_block.hash():
            повернути Falsereповернути True
Цей код додає метод `is_valid` до класу `Blockchain`.

1. 
 Перевірте валідацію блокчейну: після додавання блоків до блокчейну викличте метод `is_valid`, щоб перевірити, чи дійсний блокчейн.

Python
pythonКопіювати код

Створіть кілька блоків і додайте їх до блокчейну# Перевірте блокчейн, якщо blockchain.is_valid():

print("Блокчейн дійсний.")

ще:
print(“Блокчейн недійсний.”)



Цей код перевіряє блокчейн, викликаючи метод `is_valid` і друкує відповідне повідомлення на основі результату.


## 2.4 Тестування блокчейну 


 1. 
 Додайте більше блоків до блокчейну: створіть додаткові блоки, використовуючи різні дані та попередні хеші, і додайте їх до блокчейну за допомогою методу `add_block`.
Python 
 pythonКопіювати код 
 #Створити більше блоків 
 block2 = Block(2, datetime.datetime.now(), "Більше даних", new_block.hash(), 0) 
 block3 = Block(3, datetime.datetime.now(), "Ще більше даних", block2.hash(), 0) 

 #Додати блоки до блокчейну 
 blockchain.add_block(block2)
blockchain.add_block(block3)
Цей код створює два додаткових блоки та додає їх до блокчейну.

1. 
 Повторно перевірте валідацію блокчейну: після додавання нових блоків викличте метод `is_valid`, щоб перевірити валідність блокчейну.
Python 
 pythonCopy code 
 # Перевірити блокчейн, якщо blockchain.is_valid():
print("Блокчейн дійсний.")
else: 
 print("Блокчейн недійсний.")
```

Цей код перевіряє блокчейн і друкує результат.

2.5 Висновок

У цьому уроці ми побудували структуру нашого блокчейну. Ми створили клас Blockchain і реалізували методи для додавання блоків до ланцюжка та перевірки його цілісності. Ми також протестували блокчейн, додавши блоки та перевіривши його дійсність.

إخلاء المسؤولية
* ينطوي الاستثمار في العملات الرقمية على مخاطر كبيرة. فيرجى المتابعة بحذر. ولا تهدف الدورة التدريبية إلى تقديم المشورة الاستثمارية.
* تم إنشاء الدورة التدريبية من قبل المؤلف الذي انضم إلى مركز التعلّم في Gate. ويُرجى العلم أنّ أي رأي يشاركه المؤلف لا يمثّل مركز التعلّم في Gate.
الكتالوج
الدرس رقم 2

Побудова структури блокчейну

У цьому уроці ми зосередимося на побудові структури блокчейна. Ми визначимо необхідні функції та методи для створення та керування блоками, додавання блоків до блокчейну та перевірки цілісності ланцюжка.

2.1 Створення класу Blockchain

  1. Відкрийте файл blockchain.py у своєму редакторі коду.

  2. Визначте клас Blockchain : цей клас представлятиме блокчейн і містить необхідні методи для керування блоками та самим ланцюжком.

    Python 
     код pythonCopy 
     клас Blockchain: 
     def __init__(self): 
     self.chain = []
    

    Цей код визначає клас Blockchain із порожнім списком під назвою chain для зберігання блоків.

2.2 Додавання блоків до Blockchain

  1. Реалізуйте метод add_block : цей метод буде використовуватися для додавання блоків до блокчейну. Він візьме об’єкт блоку як параметр і додасть його до ланцюжка.

    Python 
     код pythonCopy 
     клас Blockchain: 
     def __init__(self): 
     self.chain = [] 
    
     def add_block(self, block): 
     self.chain.append(block)
    

    Цей код додає метод add_block до класу Blockchain .

  2. Перевірте додавання блоків до блокчейну: в основній частині коду після визначення класу створіть новий екземпляр класу Blockchain . Потім створіть новий блоковий об’єкт і додайте його до блокчейну за допомогою методу add_block .
    ```
    Python
    pythonКопіювати код
    blockchain = Blockchain()

Створіть новий блок

new_block = Блокувати(1, datetime.datetime.now(), «Зразок даних», «попередній_хеш», 0)

Додайте блок до блокчейну

blockchain.add_block(новий_блок)

Цей код створює новий екземпляр класу `Blockchain`, створює новий об’єкт блоку з деякими зразками даних і додає його до ланцюжка блоків за допомогою методу `add_block`.


## 2.3 Перевірка ланцюга блоків 



 1. 
 Застосуйте метод `is_valid`: цей метод використовуватиметься для перевірки цілісності ланцюга блоків. Він перебирає кожен блок у ланцюжку та перевіряє, чи хеш кожного блоку відповідає хешу попереднього блоку.

Python
pythonКопіювати код
клас Blockchain:
def init(self):
self.chain = []

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

def is_valid(self): 
 для i в діапазоні(1, len(self.chain)):
        current_block = self.chain[i]
        попередній_блок = self.chain[i - 1] 
 якщо current_block.previous_hash != previous_block.hash():
            повернути Falsereповернути True
Цей код додає метод `is_valid` до класу `Blockchain`.

1. 
 Перевірте валідацію блокчейну: після додавання блоків до блокчейну викличте метод `is_valid`, щоб перевірити, чи дійсний блокчейн.

Python
pythonКопіювати код

Створіть кілька блоків і додайте їх до блокчейну# Перевірте блокчейн, якщо blockchain.is_valid():

print("Блокчейн дійсний.")

ще:
print(“Блокчейн недійсний.”)



Цей код перевіряє блокчейн, викликаючи метод `is_valid` і друкує відповідне повідомлення на основі результату.


## 2.4 Тестування блокчейну 


 1. 
 Додайте більше блоків до блокчейну: створіть додаткові блоки, використовуючи різні дані та попередні хеші, і додайте їх до блокчейну за допомогою методу `add_block`.
Python 
 pythonКопіювати код 
 #Створити більше блоків 
 block2 = Block(2, datetime.datetime.now(), "Більше даних", new_block.hash(), 0) 
 block3 = Block(3, datetime.datetime.now(), "Ще більше даних", block2.hash(), 0) 

 #Додати блоки до блокчейну 
 blockchain.add_block(block2)
blockchain.add_block(block3)
Цей код створює два додаткових блоки та додає їх до блокчейну.

1. 
 Повторно перевірте валідацію блокчейну: після додавання нових блоків викличте метод `is_valid`, щоб перевірити валідність блокчейну.
Python 
 pythonCopy code 
 # Перевірити блокчейн, якщо blockchain.is_valid():
print("Блокчейн дійсний.")
else: 
 print("Блокчейн недійсний.")
```

Цей код перевіряє блокчейн і друкує результат.

2.5 Висновок

У цьому уроці ми побудували структуру нашого блокчейну. Ми створили клас Blockchain і реалізували методи для додавання блоків до ланцюжка та перевірки його цілісності. Ми також протестували блокчейн, додавши блоки та перевіривши його дійсність.

إخلاء المسؤولية
* ينطوي الاستثمار في العملات الرقمية على مخاطر كبيرة. فيرجى المتابعة بحذر. ولا تهدف الدورة التدريبية إلى تقديم المشورة الاستثمارية.
* تم إنشاء الدورة التدريبية من قبل المؤلف الذي انضم إلى مركز التعلّم في Gate. ويُرجى العلم أنّ أي رأي يشاركه المؤلف لا يمثّل مركز التعلّم في Gate.