Blockchain Python - Classe Block

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.