Python Blockchain - Clase de bloque

Un bloque consta de un número variable de transacciones. Para simplificar, en nuestro caso asumiremos que el bloque consta de un número fijo de transacciones, que en este caso son tres. Como el bloque necesita almacenar la lista de estas tres transacciones, declararemos una variable de instancia llamadaverified_transactions como sigue -

self.verified_transactions = []

Hemos nombrado esta variable como verified_transactionspara indicar que solo las transacciones válidas verificadas se agregarán al bloque. Cada bloque también contiene el valor hash del bloque anterior, por lo que la cadena de bloques se vuelve inmutable.

Para almacenar el hash anterior, declaramos una variable de instancia de la siguiente manera:

self.previous_block_hash = ""

Finalmente, declaramos una variable más llamada Nonce para almacenar el nonce creado por el minero durante el proceso de minería.

self.Nonce = ""

La definición completa de la Block la clase se da a continuación -

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

Como cada bloque necesita el valor del hash del bloque anterior, declaramos una variable global llamada last_block_hash como sigue -

last_block_hash = ""

Ahora creemos nuestro primer bloque en la cadena de bloques.