Python Blockchain - klasa blokowa

Blok składa się z różnej liczby transakcji. Dla uproszczenia w naszym przypadku założymy, że blok składa się ze stałej liczby transakcji, która w tym przypadku wynosi trzy. Ponieważ blok musi przechowywać listę tych trzech transakcji, zadeklarujemy zmienną instancji o nazwieverified_transactions w następujący sposób -

self.verified_transactions = []

Nazwaliśmy tę zmienną jako verified_transactionsaby wskazać, że tylko zweryfikowane, ważne transakcje zostaną dodane do bloku. Każdy blok zawiera również wartość skrótu poprzedniego bloku, dzięki czemu łańcuch bloków staje się niezmienny.

Aby zapisać poprzedni hash, deklarujemy zmienną instancji w następujący sposób -

self.previous_block_hash = ""

Na koniec deklarujemy jeszcze jedną zmienną o nazwie Nonce do przechowywania nonce wytworzonej przez górnika podczas procesu wydobycia.

self.Nonce = ""

Pełna definicja Block klasa jest podana poniżej -

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

Ponieważ każdy blok potrzebuje wartości hasha poprzedniego bloku, deklarujemy zmienną globalną o nazwie last_block_hash w następujący sposób -

last_block_hash = ""

Teraz stwórzmy nasz pierwszy blok w łańcuchu bloków.