Python Blockchain - Sviluppo client

Un cliente è qualcuno che detiene TPCoin e li tratta per beni / servizi da altri fornitori sulla rete, incluso il proprio. Dovremmo definire un fileClientclasse per questo scopo. Per creare un'identificazione univoca a livello globale per il cliente, utilizziamo PKI (Public Key Infrastructure). In questo capitolo, parliamo di questo in dettaglio.

Il cliente dovrebbe essere in grado di inviare denaro dal suo portafoglio a un'altra persona conosciuta. Allo stesso modo, il cliente dovrebbe essere in grado di accettare denaro da una terza parte. Per spendere soldi, il cliente creerebbe una transazione specificando il nome del mittente e l'importo da pagare. Per ricevere denaro, il cliente fornirà la sua identità alla terza parte, essenzialmente un mittente del denaro. Non memorizziamo l'importo del saldo che il cliente tiene nel suo portafoglio. Durante una transazione, calcoleremo il saldo effettivo per garantire che il cliente abbia un saldo sufficiente per effettuare il pagamento.

Per sviluppare il Clientclass e per il resto del codice nel progetto, avremo bisogno di importare molte librerie Python. Questi sono elencati di seguito:

# 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

Oltre alle librerie standard di cui sopra, firmeremo le nostre transazioni, creeremo hash degli oggetti, ecc. Per questo, dovrai importare le seguenti librerie:

# 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

Nel prossimo capitolo, parliamo della classe client.