Python tworzy Blockchain
Blockchain zawiera listę bloków połączonych ze sobą. Aby przechowywać całą listę, utworzymy zmienną listy o nazwie TPCoins -
TPCoins = []
Napiszemy również metodę narzędziową o nazwie dump_blockchainza zrzucanie zawartości całego łańcucha bloków. Najpierw drukujemy długość łańcucha blokowego, aby wiedzieć, ile bloków jest obecnie obecnych w łańcuchu bloków.
def dump_blockchain (self):
print ("Number of blocks in the chain: " + str(len (self)))
Zauważ, że w miarę upływu czasu liczba bloków w łańcuchu bloków byłaby niezwykle wysoka do wydrukowania. Dlatego podczas drukowania zawartości łańcucha bloków być może będziesz musiał zdecydować, jaki zakres chcesz zbadać. W poniższym kodzie wydrukowaliśmy cały łańcuch bloków, ponieważ nie dodawalibyśmy zbyt wielu bloków w bieżącym demo.
Aby przejść przez łańcuch, utworzyliśmy plik for pętla w następujący sposób -
for x in range (len(TPCoins)):
block_temp = TPCoins[x]
Każdy blok, do którego się odwołujemy, jest kopiowany do tymczasowej zmiennej o nazwie block_temp.
Drukujemy numer bloku jako nagłówek każdego bloku. Zauważ, że liczby zaczynałyby się od zera, pierwszy blok to blok genezy, który jest ponumerowany zero.
print ("block # " + str(x))
W każdym bloku zapisaliśmy listę trzech transakcji (z wyjątkiem bloku genezy) w zmiennej o nazwie verified_transactions. Powtarzamy tę listę w plikufor pętla i dla każdego pobranego elementu wywołujemy display_transaction funkcja wyświetlania szczegółów transakcji.
for transaction in block_temp.verified_transactions:
display_transaction (transaction)
Cała definicja funkcji jest pokazana poniżej -
def dump_blockchain (self):
print ("Number of blocks in the chain: " + str(len (self)))
for x in range (len(TPCoins)):
block_temp = TPCoins[x]
print ("block # " + str(x))
for transaction in block_temp.verified_transactions:
display_transaction (transaction)
print ('--------------')
print ('=====================================')
Zauważ, że tutaj wstawiliśmy separatory w odpowiednich miejscach w kodzie, aby oddzielić bloki i transakcje w nim zawarte.
Ponieważ stworzyliśmy teraz łańcuch bloków do przechowywania bloków, naszym następnym zadaniem jest utworzenie bloków i rozpoczęcie dodawania go do łańcucha bloków. W tym celu dodamy blok Genesis, który utworzyłeś już w poprzednim kroku.