Python 区块链 - 开发客户端

客户端是持有 TPCoins 并用这些 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

在下一章中,让我们讨论客户端类。