Python Blockchain - Genesis Block erstellen

Wir gehen davon aus, dass der Urheber von TPCoins zunächst 500 TPCoins an einen bekannten Kunden ausgibt Dinesh. Dazu erstellt er zunächst eine Dinesh-Instanz -

Dinesh = Client()

Anschließend erstellen wir eine Genesis-Transaktion und senden 500 TPCoins an Dineshs öffentliche Adresse.

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

Jetzt erstellen wir eine Instanz von Block Klasse und nennen es block0.

block0 = Block()

Wir initialisieren die previous_block_hash und Nonce Instanzvariablen zu None, da dies die allererste Transaktion ist, die in unserer Blockchain gespeichert wird.

block0.previous_block_hash = None
Nonce = None

Als nächstes werden wir die obige t0-Transaktion zum hinzufügen verified_transactions Liste innerhalb des Blocks gepflegt -

block0.verified_transactions.append (t0)

Zu diesem Zeitpunkt ist der Block vollständig initialisiert und kann zu unserer Blockchain hinzugefügt werden. Zu diesem Zweck werden wir die Blockchain erstellen. Bevor wir den Block zur Blockchain hinzufügen, werden wir den Block hashen und seinen Wert in der aufgerufenen globalen Variablen speichernlast_block_hashdas haben wir vorher erklärt. Dieser Wert wird vom nächsten Bergmann in seinem Block verwendet.

Wir verwenden die folgenden zwei Codierungszeilen, um den Block zu hashen und den Digest-Wert zu speichern.

digest = hash (block0)
last_block_hash = digest

Schließlich erstellen wir eine Blockchain, wie wir im nächsten Kapitel sehen.