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.