Python Blockchain - Creando Genesis Block

Suponemos que el creador de TPCoins inicialmente entrega 500 TPCoins a un cliente conocido Dinesh. Para ello, primero crea una instancia de Dinesh:

Dinesh = Client()

Luego creamos una transacción de génesis y enviamos 500 TPCoins a la dirección pública de Dinesh.

t0 = Transaction (
   "Genesis",
   Dinesh.identity,
   500.0
)

Ahora, creamos una instancia de Block clase y llámalo block0.

block0 = Block()

Inicializamos el previous_block_hash y Nonce variables de instancia para None, ya que esta es la primera transacción que se almacena en nuestra cadena de bloques.

block0.previous_block_hash = None
Nonce = None

A continuación, agregaremos la transacción t0 anterior a la verified_transactions lista mantenida dentro del bloque -

block0.verified_transactions.append (t0)

En este punto, el bloque está completamente inicializado y listo para ser agregado a nuestra cadena de bloques. Crearemos la cadena de bloques para este propósito. Antes de agregar el bloque a la cadena de bloques, aplicaremos un hash al bloque y almacenaremos su valor en la variable global llamadalast_block_hashque declaramos previamente. Este valor será utilizado por el próximo minero en su bloque.

Usamos las siguientes dos líneas de codificación para hacer hash del bloque y almacenar el valor de resumen.

digest = hash (block0)
last_block_hash = digest

Finalmente, creamos una cadena de bloques como vemos en el siguiente capítulo.