python 开发客户端,python适合开发区块链吗

  python 开发客户端,python适合开发区块链吗

  本文主要为大家介绍Python区块链客户端类开发教程。有需要的朋友可以借鉴一下,希望能有所帮助。祝大家进步很大,早日升职加薪。

  00-1010开发客户端客户端类客户端测试客户端

  

目录

  客户是指持有TPCoins并在网络上与其他供应商(包括自己的供应商)交换商品/服务的客户。为此,我们应该定义客户端类。为了给客户端创建一个全局唯一的ID,我们使用PKI(公钥基础设施)。在这一章里,我们来详细讨论一下。

  客户应该能够从另一个已知的人寄钱。同样,顾客应该能够接受来自第三方的钱。对于消费,客户将创建一个指定发送者姓名和支付金额的交易。客户为了收款,会向第三方提供他的身份3360,本质上是汇款人。我们不存储客户持有的钱包余额。在交易过程中,我们会计算实际余额,以确保客户有足够的余额支付。

  开发客户端类,剩下的就是项目的代码了。我们需要导入许多Python库。这些在下面的:中列出

  #导入库

  importhashlib

  随机输入

  导入字符串

  importjson

  importbinascii

  importnumpyasnp

  importpandasaspd

  importpylabaspl

  导入日志记录

  导入日期时间

  导入集合

  除了上面的标准库,我们还必须签署事务,创建对象的散列等等。为此,您需要导入以下库3360

  # followingtimportsarererequired bypki

  导入加密

  导入加密。随意

  来自Crypto。哈希姆波特沙

  来自Crypto。PublicKeyimportRSA

  来自Crypto。SignatureimportPKCS1_v1_5

  

开发客户端

  客户端使用内置的PythonRSA算法来生成私钥和公钥。有兴趣的读者可以参考本教程实现RSA。在对象初始化期间,我们创建私有和公共密钥,并将它们的值存储在实例变量中。

  自我。_private_key=RSA.generate(1024,随机)

  自我。_public_key=self_private_key .公钥()

  请注意,永远不要丢失私钥。为了保留记录,可以将生成的私钥复制到安全的外部存储器,或者您可以简单地在一张纸上写下它的ASCII表示。

  生成的公钥将用作客户端的身份。为此,我们定义了一个名为identity的属性,它返回公钥的十六进制表示。

  @属性

  defidentity(自我):

  返回

  binascii.hexlify(self。_ public _ key . export key(format= DER ))

  .解码(“ascii”)

  ID对每个客户都是唯一的,并且可以公开提供。任何人都可以使用此ID向您发送虚拟货币,虚拟货币将添加到您的钱包中。

  

客户端类

  classClient:

  def__init__(self):

  随机=加密。Random.new()。阅读

  自我。_private_key=RSA.generate(1024,随机)

  自我。_public_key=self_private_key .公钥()

  自我。_signer=PKCS1_v1_5.new(self。_私钥)

  @属性

  defidentity(自我):

  返回

  binascii.hexlify(self。_ public _ key . export key(format= DER )。解码(“ascii”)

  

客户端

  现在,我们将编写代码来展示如何使用客户端类3360。

  Dinesh=Client()

  打印(Dinesh.identity)

  上面的代码创建了客户端的一个实例,并将其分配给var iableDinesh。我们通过调用identity方法打印Dinesh的公钥。

  30819 f 300d 06092 a 864886 f 70d 010101050003818d 0030818902818100 b 547 faf ceeb 131 e 07

  0166 a6b 23 FEC 473 CCE 22 C3 f 55 c 35 ce 535 b 31d 4c 74754 fecd 820 aa 94 c 1166643 a 49 ea 5 f 49 f 72

  3181 ff 943 EB 3 FD C5 b 2c B2 db 12d 21 c 06 c 880 CCF 493 e 14 DD 3 e 93 F3 a9 e 175325790004954 c 34d 3

  c 7 BC 2 CCC 9 f 0 EB 5332014937 f 9 e 49 BC a9 b 7856d 351 a 553d 9812367 DC 8 F2 AC 734992 a4 e 6 a 6 ff 6

  6f347bd411d07f0203010001

  以上是Python区块链客户端类开发教程的详细内容。有关Python区块链客户端类的更多信息,请关注热门IT软件开发工作室的其他相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: