Відкрийте файл blockchain.py
у своєму редакторі коду.
Визначте клас Blockchain
: цей клас представлятиме блокчейн і містить необхідні методи для керування блоками та самим ланцюжком.
Python
код pythonCopy
клас Blockchain:
def __init__(self):
self.chain = []
Цей код визначає клас Blockchain
із порожнім списком під назвою chain
для зберігання блоків.
Реалізуйте метод add_block
: цей метод буде використовуватися для додавання блоків до блокчейну. Він візьме об’єкт блоку як параметр і додасть його до ланцюжка.
Python
код pythonCopy
клас Blockchain:
def __init__(self):
self.chain = []
def add_block(self, block):
self.chain.append(block)
Цей код додає метод add_block
до класу Blockchain
.
Перевірте додавання блоків до блокчейну: в основній частині коду після визначення класу створіть новий екземпляр класу 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Копіювати код
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("Блокчейн недійсний.")
```
Цей код перевіряє блокчейн і друкує результат.
У цьому уроці ми побудували структуру нашого блокчейну. Ми створили клас Blockchain
і реалізували методи для додавання блоків до ланцюжка та перевірки його цілісності. Ми також протестували блокчейн, додавши блоки та перевіривши його дійсність.
Відкрийте файл blockchain.py
у своєму редакторі коду.
Визначте клас Blockchain
: цей клас представлятиме блокчейн і містить необхідні методи для керування блоками та самим ланцюжком.
Python
код pythonCopy
клас Blockchain:
def __init__(self):
self.chain = []
Цей код визначає клас Blockchain
із порожнім списком під назвою chain
для зберігання блоків.
Реалізуйте метод add_block
: цей метод буде використовуватися для додавання блоків до блокчейну. Він візьме об’єкт блоку як параметр і додасть його до ланцюжка.
Python
код pythonCopy
клас Blockchain:
def __init__(self):
self.chain = []
def add_block(self, block):
self.chain.append(block)
Цей код додає метод add_block
до класу Blockchain
.
Перевірте додавання блоків до блокчейну: в основній частині коду після визначення класу створіть новий екземпляр класу 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Копіювати код
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("Блокчейн недійсний.")
```
Цей код перевіряє блокчейн і друкує результат.
У цьому уроці ми побудували структуру нашого блокчейну. Ми створили клас Blockchain
і реалізували методи для додавання блоків до ланцюжка та перевірки його цілісності. Ми також протестували блокчейн, додавши блоки та перевіривши його дійсність.