Python Blockchain - Client entwickeln

Ein Kunde ist jemand, der TPCoins besitzt und diese für Waren / Dienstleistungen von anderen Anbietern im Netzwerk einschließlich seiner eigenen abwickelt. Wir sollten a definierenClientKlasse für diesen Zweck. Um eine global eindeutige Identifikation für den Client zu erstellen, verwenden wir PKI (Public Key Infrastructure). Lassen Sie uns in diesem Kapitel ausführlich darauf eingehen.

Der Kunde sollte in der Lage sein, Geld aus seiner Brieftasche an eine andere bekannte Person zu senden. Ebenso sollte der Kunde in der Lage sein, Geld von Dritten anzunehmen. Um Geld auszugeben, erstellt der Kunde eine Transaktion, in der der Name des Absenders und der zu zahlende Betrag angegeben sind. Für den Erhalt von Geld gibt der Kunde seine Identität an den Dritten weiter - im Wesentlichen an einen Absender des Geldes. Wir speichern nicht den Restbetrag, den der Kunde in seiner Brieftasche hat. Während einer Transaktion berechnen wir den tatsächlichen Saldo, um sicherzustellen, dass der Kunde über einen ausreichenden Saldo verfügt, um die Zahlung zu leisten.

Um die zu entwickeln ClientKlasse und für den Rest des Codes im Projekt müssen wir viele Python-Bibliotheken importieren. Diese sind unten aufgeführt -

# import libraries
import hashlib
import random
import string
import json
import binascii
import numpy as np
import pandas as pd
import pylab as pl
import logging
import datetime
import collections

Zusätzlich zu den oben genannten Standardbibliotheken werden wir unsere Transaktionen signieren, Hash der Objekte erstellen usw. Dazu müssen Sie die folgenden Bibliotheken importieren:

# following imports are required by PKI
import Crypto
import Crypto.Random
from Crypto.Hash import SHA
from Crypto.PublicKey import RSA
from Crypto.Signature import PKCS1_v1_5

Lassen Sie uns im nächsten Kapitel über die Client-Klasse sprechen.