Um bloco consiste em um número variável de transações. Para simplificar, em nosso caso, assumiremos que o bloco consiste em um número fixo de transações, que neste caso é três. Como o bloco precisa armazenar a lista dessas três transações, iremos declarar uma variável de instância chamadaverified_transactions como segue -
self.verified_transactions = []
Chamamos essa variável de verified_transactionspara indicar que apenas as transações válidas verificadas serão adicionadas ao bloco. Cada bloco também contém o valor hash do bloco anterior, de modo que a cadeia de blocos se torna imutável.
Para armazenar o hash anterior, declaramos uma variável de instância da seguinte maneira -
self.previous_block_hash = ""
Finalmente, declaramos mais uma variável chamada Nonce para armazenar o nonce criado pelo minerador durante o processo de mineração.
self.Nonce = ""
A definição completa do Block a aula é dada abaixo -
class Block:
def __init__(self):
self.verified_transactions = []
self.previous_block_hash = ""
self.Nonce = ""
Como cada bloco precisa do valor do hash do bloco anterior, declaramos uma variável global chamada last_block_hash como segue -
last_block_hash = ""
Agora vamos criar nosso primeiro bloco no blockchain.