Учебники

Python Blockchain — класс блоков

Блок состоит из различного количества транзакций. Для простоты в нашем случае мы будем предполагать, что блок состоит из фиксированного числа транзакций, которое в данном случае равно трем. Поскольку блок должен хранить список этих трех транзакций, мы объявим переменную экземпляра под названием verify_transactions следующим образом:

self.verified_transactions = []

Мы назвали эту переменную как Verified_transactions, чтобы указать, что только проверенные действительные транзакции будут добавлены в блок. Каждый блок также содержит хэш-значение предыдущего блока, поэтому цепочка блоков становится неизменной.

Чтобы сохранить предыдущий хеш, мы объявляем переменную экземпляра следующим образом:

self.previous_block_hash = ""

Наконец, мы объявляем еще одну переменную Nonce для хранения одноразовых номеров, созданных майнером в процессе майнинга.

self.Nonce = ""

Полное определение класса Block приведено ниже —

class Block:
   def __init__(self):
      self.verified_transactions = []
      self.previous_block_hash = ""
      self.Nonce = ""

Поскольку каждому блоку требуется значение хеша предыдущего блока, мы объявляем глобальную переменную с именем last_block_hash следующим образом:

last_block_hash = ""

Теперь давайте создадим наш первый блок в блокчейне.