Python Blockchain - Création d'un bloc Genesis

Nous supposons que l'auteur des TPCoins distribue initialement 500 TPCoins à un client connu Dinesh. Pour cela, il crée d'abord une instance Dinesh -

Dinesh = Client()

Nous créons ensuite une transaction genesis et envoyons 500 TPCoins à l'adresse publique de Dinesh.

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

Maintenant, nous créons une instance de Block classe et appelle-le block0.

block0 = Block()

Nous initialisons le previous_block_hash et Nonce variables d'instance à None, car il s'agit de la toute première transaction à être stockée dans notre blockchain.

block0.previous_block_hash = None
Nonce = None

Ensuite, nous ajouterons la transaction t0 ci-dessus au verified_transactions liste maintenue dans le bloc -

block0.verified_transactions.append (t0)

À ce stade, le bloc est complètement initialisé et est prêt à être ajouté à notre blockchain. Nous allons créer la blockchain à cet effet. Avant d'ajouter le bloc à la blockchain, nous allons hacher le bloc et stocker sa valeur dans la variable globale appeléelast_block_hashque nous avons déclaré précédemment. Cette valeur sera utilisée par le prochain mineur de son bloc.

Nous utilisons les deux lignes de codage suivantes pour hacher le bloc et stocker la valeur de résumé.

digest = hash (block0)
last_block_hash = digest

Enfin, nous créons une blockchain comme nous le verrons dans le chapitre suivant.