Блок состоит из различного количества транзакций. Для простоты в нашем случае мы будем предполагать, что блок состоит из фиксированного числа транзакций, которое в данном случае равно трем. Поскольку блок должен хранить список этих трех транзакций, мы объявим переменную экземпляра под названием 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 = ""
Теперь давайте создадим наш первый блок в блокчейне.