Python Blockchain - Cliente en desarrollo

Un cliente es alguien que posee TPCoins y realiza transacciones por bienes / servicios de otros proveedores en la red, incluido el suyo. Deberíamos definir unClientclase para este propósito. Para crear una identificación única a nivel mundial para el cliente, utilizamos PKI (Infraestructura de clave pública). En este capítulo, hablemos de esto en detalle.

El cliente debería poder enviar dinero desde su billetera a otra persona conocida. Del mismo modo, el cliente debería poder aceptar dinero de un tercero. Para gastar dinero, el cliente crearía una transacción especificando el nombre del remitente y la cantidad a pagar. Para recibir dinero, el cliente proporcionará su identidad al tercero, esencialmente un remitente del dinero. No almacenamos el saldo de dinero que el cliente tiene en su billetera. Durante una transacción, calcularemos el saldo real para asegurarnos de que el cliente tenga suficiente saldo para realizar el pago.

Para desarrollar el Clientclass y para el resto del código del proyecto, necesitaremos importar muchas bibliotecas de Python. Estos se enumeran a continuación:

# 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

Además de las bibliotecas estándar anteriores, vamos a firmar nuestras transacciones, crear hash de los objetos, etc. Para esto, necesitará importar las siguientes bibliotecas:

# 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

En el próximo capítulo, hablemos de la clase de cliente.