Python Blockchain - Client en développement

Un client est une personne qui détient des TPCoins et qui les transige contre des biens / services d'autres fournisseurs sur le réseau, y compris le sien. Nous devrions définir unClientclasse à cet effet. Pour créer une identification unique au monde pour le client, nous utilisons PKI (Public Key Infrastructure). Dans ce chapitre, parlons-en en détail.

Le client doit pouvoir envoyer de l'argent de son portefeuille à une autre personne connue. De même, le client doit pouvoir accepter de l'argent d'un tiers. Pour dépenser de l'argent, le client créerait une transaction spécifiant le nom de l'expéditeur et le montant à payer. Pour recevoir de l'argent, le client fournira son identité au tiers - essentiellement un expéditeur de l'argent. Nous ne stockons pas le solde d'argent que le client détient dans son portefeuille. Lors d'une transaction, nous calculerons le solde réel pour nous assurer que le client dispose d'un solde suffisant pour effectuer le paiement.

Pour développer le Clientclasse et pour le reste du code du projet, nous devrons importer de nombreuses bibliothèques Python. Ceux-ci sont énumérés ci-dessous -

# 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

En plus des bibliothèques standard ci-dessus, nous allons signer nos transactions, créer le hachage des objets, etc. Pour cela, vous devrez importer les bibliothèques suivantes -

# 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

Dans le chapitre suivant, parlons de la classe client.