Python Blockchain - Block Class

Un blocco è costituito da un numero variabile di transazioni. Per semplicità, nel nostro caso supporremo che il blocco sia costituito da un numero fisso di transazioni, che in questo caso è tre. Poiché il blocco deve memorizzare l'elenco di queste tre transazioni, dichiareremo una variabile di istanza chiamataverified_transactions come segue -

self.verified_transactions = []

Abbiamo chiamato questa variabile come verified_transactionsper indicare che solo le transazioni valide verificate verranno aggiunte al blocco. Ogni blocco contiene anche il valore hash del blocco precedente, in modo che la catena di blocchi diventi immutabile.

Per memorizzare l'hash precedente, dichiariamo una variabile di istanza come segue:

self.previous_block_hash = ""

Infine, dichiariamo un'altra variabile chiamata Nonce per conservare il nonce creato dal minatore durante il processo di estrazione.

self.Nonce = ""

La definizione completa di Block la classe è riportata di seguito -

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

Poiché ogni blocco necessita del valore dell'hash del blocco precedente, dichiariamo una variabile globale chiamata last_block_hash come segue -

last_block_hash = ""

Ora creiamo il nostro primo blocco nella blockchain.