Клиент — это кто-то, кто держит TPCoins и передает их за товары / услуги от других поставщиков в сети, включая его собственную. Мы должны определить класс Client для этой цели. Чтобы создать глобально уникальную идентификацию для клиента, мы используем PKI (Инфраструктура открытых ключей). В этой главе давайте поговорим об этом подробнее.
Клиент должен иметь возможность отправлять деньги из своего кошелька другому известному человеку. Точно так же клиент должен иметь возможность принимать деньги от третьей стороны. Чтобы потратить деньги, клиент должен создать транзакцию, указав имя отправителя и сумму, подлежащую выплате. Для получения денег клиент предоставит свою личность третьему лицу — по существу, отправителю денег. Мы не храним остаток суммы, которую клиент держит в своем кошельке. Во время транзакции мы рассчитаем фактический баланс, чтобы у клиента был достаточный баланс для осуществления платежа.
Для разработки класса Client и для остальной части кода в проекте нам потребуется импортировать много библиотек Python. Они перечислены ниже —
# 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
В дополнение к указанным выше стандартным библиотекам мы собираемся подписать наши транзакции, создать хэш объектов и т. Д. Для этого вам потребуется импортировать следующие библиотеки:
# 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
В следующей главе давайте поговорим о классе клиента.