Python Blockchain - programista klient
Klient to osoba, która posiada TPCoiny i dokonuje transakcji za towary / usługi od innych dostawców w sieci, w tym swoich. Powinniśmy zdefiniowaćClientklasę w tym celu. Aby stworzyć globalnie unikalną identyfikację dla klienta, używamy PKI (Public Key Infrastructure). W tym rozdziale omówimy to szczegółowo.
Klient powinien mieć możliwość wysłania pieniędzy ze swojego portfela innej znanej osobie. Podobnie klient powinien mieć możliwość przyjmowania pieniędzy od osoby trzeciej. Aby wydać pieniądze, klient utworzyłby transakcję określającą nazwę nadawcy i kwotę do zapłaty. Aby otrzymać pieniądze, klient przekaże swoją tożsamość osobie trzeciej - zasadniczo nadawcy pieniędzy. Nie przechowujemy salda pieniędzy, które klient trzyma w swoim portfelu. Podczas transakcji obliczamy faktyczne saldo, aby upewnić się, że saldo klienta jest wystarczające do dokonania płatności.
Aby opracować Clientclass i dla reszty kodu w projekcie będziemy musieli zaimportować wiele bibliotek Pythona. Są one wymienione poniżej -
# 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
Oprócz powyższych standardowych bibliotek, będziemy podpisywać nasze transakcje, tworzyć hash obiektów itp. W tym celu należy zaimportować następujące biblioteki -
# 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
W następnym rozdziale porozmawiajmy o klasie klienta.