Python区块链教程

区块链客户端类

Python区块链客户端类详细操作教程
Client 类使用内置的Python RSA 算法生成 private public 密钥。有兴趣的读者可以参考 本教程来了解RSA的实现。在对象初始化期间,我们创建私钥和公钥并将其值存储在实例变量中。
# Filename : example.py
# Copyright : 2020 By Lidihuo
# Author by : www.lidihuo.com
# Date : 2020-08-28
self._private_key = RSA.generate(1024, random)
self._public_key = self._private_key.publickey()
请注意,您绝不要丢失私钥。为了保持记录,可以将生成的私钥复制到安全的外部存储中,也可以将其ASCII表示简单地写在一张纸上。
生成的 公共密钥将用作客户的身份。为此,我们定义了一个名为 identity 的属性,该属性返回公钥的HEX表示形式。
# Filename : example.py
# Copyright : 2020 By Lidihuo
# Author by : www.lidihuo.com
# Date : 2020-08-28
@property
   def identity(self):
      return
binascii.hexlify(self._public_key.exportKey(format='DER'))
.decode('ascii')
身份对于每个客户而言都是唯一的,并且可以公开使用。任何人都可以使用此 身份向您发送虚拟货币,该虚拟货币将被添加到您的钱包中。
Client 类的完整代码如下所示-
# Filename : example.py
# Copyright : 2020 By Lidihuo
# Author by : www.lidihuo.com
# Date : 2020-08-28
class Client:
   def __init__(self):
      random = Crypto.Random.new().read
      self._private_key = RSA.generate(1024, random)
      self._public_key = self._private_key.publickey()
      self._signer = PKCS1_v1_5.new(self._private_key)
   @property
   def identity(self):
      return
binascii.hexlify(self._public_key.exportKey(format='DER')).decode('ascii')

测试客户端

现在,我们将编写代码来说明如何使用 Client 类-
# Filename : example.py
# Copyright : 2020 By Lidihuo
# Author by : www.lidihuo.com
# Date : 2020-08-28
Dinesh = Client()
print (Dinesh.identity)
上面的代码创建 Client 的实例,并将其分配给变量 Dinesh 。我们通过调用 identity 方法来打印 Dinesh 的公钥。输出显示在这里-
# Filename : example.py
# Copyright : 2020 By Lidihuo
# Author by : www.lidihuo.com
# Date : 2020-08-28
30819f300d06092a864886f70d010101050003818d0030818902818100b547fafceeb131e07
0166a6b23fec473cce22c3f55c35ce535b31d4c74754fecd820aa94c1166643a49ea5f49f72
3181ff943eb3fdc5b2cb2db12d21c06c880ccf493e14dd3e93f3a9e175325790004954c34d3
c7bc2ccc9f0eb5332014937f9e49bca9b7856d351a553d9812367dc8f2ac734992a4e6a6ff6
6f347bd411d07f0203010001
现在,让我们继续在下一章中创建交易。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4