Python区块链 开发客户端


客户是持有 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

在下一章,让我们谈谈客户端类。