Python Blockchain - Creazione di Genesis Block

Partiamo dal presupposto che l'originatore di TPCoin inizialmente distribuisca 500 TPCoin a un cliente noto Dinesh. Per questo, crea prima un'istanza di Dinesh:

Dinesh = Client()

Quindi creiamo una transazione genesis e inviamo 500 TPCoin all'indirizzo pubblico di Dinesh.

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

Ora creiamo un'istanza di Block class e chiamalo block0.

block0 = Block()

Inizializziamo il file previous_block_hash e Nonce variabili di istanza a None, poiché questa è la prima transazione ad essere archiviata nella nostra blockchain.

block0.previous_block_hash = None
Nonce = None

Successivamente, aggiungeremo la transazione t0 sopra al file verified_transactions elenco mantenuto all'interno del blocco -

block0.verified_transactions.append (t0)

A questo punto il blocco è completamente inizializzato ed è pronto per essere aggiunto alla nostra blockchain. Creeremo la blockchain per questo scopo. Prima di aggiungere il blocco alla blockchain, eseguiremo l'hashing del blocco e memorizzeremo il suo valore nella variabile globale chiamatalast_block_hashche abbiamo dichiarato in precedenza. Questo valore verrà utilizzato dal prossimo minatore nel suo blocco.

Usiamo le seguenti due righe di codice per eseguire l'hashing del blocco e memorizzare il valore digest.

digest = hash (block0)
last_block_hash = digest

Infine, creiamo una blockchain come vedremo nel prossimo capitolo.