Blockchain Python - Cliente de Desenvolvimento

Um cliente é alguém que possui TPCoins e os transaciona para bens / serviços de outros fornecedores na rede, incluindo o seu próprio. Devemos definir umClientclasse para este fim. Para criar uma identificação globalmente única para o cliente, usamos PKI (Public Key Infrastructure). Neste capítulo, vamos falar sobre isso em detalhes.

O cliente deve poder enviar dinheiro de sua carteira para outra pessoa conhecida. Da mesma forma, o cliente deve ser capaz de aceitar dinheiro de terceiros. Para gastar dinheiro, o cliente criaria uma transação especificando o nome do remetente e o valor a ser pago. Para receber dinheiro, o cliente fornecerá sua identidade ao terceiro - essencialmente, um remetente do dinheiro. Não armazenamos o valor do saldo em dinheiro que o cliente mantém em sua carteira. Durante uma transação, calcularemos o saldo real para garantir que o cliente tenha saldo suficiente para fazer o pagamento.

Para desenvolver o Clientclasse e para o resto do código do projeto, vamos precisar importar muitas bibliotecas Python. Eles estão listados abaixo -

# 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

Além das bibliotecas padrão acima, vamos assinar nossas transações, criar hash dos objetos, etc. Para isso, você precisará importar as seguintes 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

No próximo capítulo, vamos falar sobre a classe do cliente.