欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python區(qū)塊鏈客戶端類開發(fā)教程

 更新時(shí)間:2022年05月23日 11:44:27   作者:菜鳥教程  
這篇文章主要為大家介紹了Python區(qū)塊鏈客戶端類開發(fā)教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

開發(fā)客戶端

客戶是持有TPCoins并從網(wǎng)絡(luò)上的其他供應(yīng)商處交換商品/服務(wù)的客戶,包括他自己的.我們應(yīng)該為此目的定義 Client 類.要為客戶端創(chuàng)建全局唯一標(biāo)識(shí),我們使用PKI(公鑰基礎(chǔ)結(jié)構(gòu)).在本章中,讓我們?cè)敿?xì)討論一下.

客戶應(yīng)該能夠?qū)㈠X包從另一個(gè)已知的人那里匯款.同樣,客戶應(yīng)該能夠接受來自第三方的錢.對(duì)于花錢,客戶將創(chuàng)建一個(gè)指定發(fā)件人姓名和支付金額的交易.為了收款,客戶將向第三方提供他的身份 : 本質(zhì)上是錢的發(fā)送者.我們不存儲(chǔ)客戶持有的錢包余額.在交易過程中,我們將計(jì)算實(shí)際余額,以確??蛻粲凶銐虻挠囝~來支付.

開發(fā)客戶端類,其余在項(xiàng)目中的代碼中,我們需要導(dǎo)入許多Python庫(kù).這些列在下面 :

#?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

除了上述標(biāo)準(zhǔn)庫(kù)之外,我們還要簽署交易,創(chuàng)建對(duì)象的哈希等.為此,您需要導(dǎo)入以下庫(kù) :

#?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

客戶端類

客戶端類使用內(nèi)置的Python RSA 算法生成私有和公開鍵.感興趣的讀者可以參考本教程來實(shí)現(xiàn)RSA.在對(duì)象初始化期間,我們創(chuàng)建私鑰和公鑰并將它們的值存儲(chǔ)在實(shí)例變量中.

self._private_key?=?RSA.generate(1024,?random)
self._public_key?=?self._private_key.publickey()

請(qǐng)注意,永遠(yuǎn)不要丟失私鑰.為了保留記錄,生成的私鑰可以復(fù)制到安全的外部存儲(chǔ)器上,或者您可以簡(jiǎn)單地在一張紙上寫下它的ASCII表示.

生成的公共密鑰將用作客戶端的身份.為此,我們定義了一個(gè)名為 identity 的屬性,它返回公鑰的HEX表示.

@property
???def?identity(self):
??????return
binascii.hexlify(self._public_key.exportKey(format='DER'))
.decode('ascii')

標(biāo)識(shí)對(duì)每個(gè)客戶都是唯一的,可以公開提供.任何人都可以使用此身份向您發(fā)送虛擬貨幣,它將被添加到您的錢包中.

客戶端

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')

測(cè)試客戶端

現(xiàn)在,我們將編寫代碼來說明如何使用客戶端類 :

Dinesh?=?Client()
print?(Dinesh.identity)

以上代碼創(chuàng)建客戶端的實(shí)例并將其分配給var iable Dinesh .我們通過調(diào)用身份方法打印 Dinesh 的公鑰.

30819f300d06092a864886f70d010101050003818d0030818902818100b547fafceeb131e07

0166a6b23fec473cce22c3f55c35ce535b31d4c74754fecd820aa94c1166643a49ea5f49f72

3181ff943eb3fdc5b2cb2db12d21c06c880ccf493e14dd3e93f3a9e175325790004954c34d3

c7bc2ccc9f0eb5332014937f9e49bca9b7856d351a553d9812367dc8f2ac734992a4e6a6ff6

6f347bd411d07f0203010001

以上就是Python區(qū)塊鏈客戶端類開發(fā)教程的詳細(xì)內(nèi)容,更多關(guān)于Python區(qū)塊鏈客戶端類的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python實(shí)現(xiàn)批量壓縮解壓文件(zip、rar)

    Python實(shí)現(xiàn)批量壓縮解壓文件(zip、rar)

    Python是一種廣泛使用的編程語(yǔ)言,非常適合處理各種任務(wù),包括批量解壓縮文件,本文主要介紹了Python實(shí)現(xiàn)批量壓縮解壓文件,具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-09-09
  • 解決pytorch下只打印tensor的數(shù)值不打印出device等信息的問題

    解決pytorch下只打印tensor的數(shù)值不打印出device等信息的問題

    這篇文章主要介紹了解決pytorch下只打印tensor的數(shù)值不打印出device等信息的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • Pytorch配置GPU環(huán)境方式

    Pytorch配置GPU環(huán)境方式

    這篇文章主要介紹了Pytorch配置GPU環(huán)境方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • wxpython實(shí)現(xiàn)按鈕切換界面的方法

    wxpython實(shí)現(xiàn)按鈕切換界面的方法

    這篇文章主要為大家詳細(xì)介紹了wxpython實(shí)現(xiàn)按鈕切換界面的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Python中HMAC加密算法的應(yīng)用

    Python中HMAC加密算法的應(yīng)用

    HMAC?算法可用于驗(yàn)證在應(yīng)用程序之間傳遞或存儲(chǔ)在潛在易受攻擊位置的信息的完整性,因此本文為大家整理了一些Python中HMAC加密算法的應(yīng)用,希望對(duì)大家有所幫助
    2023-05-05
  • Python爬蟲實(shí)戰(zhàn)之網(wǎng)易云音樂加密解析附源碼

    Python爬蟲實(shí)戰(zhàn)之網(wǎng)易云音樂加密解析附源碼

    讀萬(wàn)卷書不如行萬(wàn)里路,學(xué)的扎不扎實(shí)要通過實(shí)戰(zhàn)才能看出來,本篇文章手把手帶你解析網(wǎng)易云音樂數(shù)據(jù),大家可以在實(shí)戰(zhàn)過程中更有效的掌握python
    2021-10-10
  • python修改包導(dǎo)入時(shí)搜索路徑的方法

    python修改包導(dǎo)入時(shí)搜索路徑的方法

    搜索路徑是由一系列目錄名組成的,Python解釋器就依次從這些目錄中去尋找所引入的模塊,下面這篇文章主要給大家介紹了關(guān)于python修改包導(dǎo)入時(shí)搜索路徑的相關(guān)資料,需要的朋友可以參考下
    2022-05-05
  • python將多個(gè)py文件和其他文件打包為exe可執(zhí)行文件

    python將多個(gè)py文件和其他文件打包為exe可執(zhí)行文件

    這篇文章主要介紹了python將多個(gè)py文件和其他文件打包為exe可執(zhí)行文件,通過準(zhǔn)備要打包的工程文件展開詳情,需要的小伙伴可以參考一下
    2022-05-05
  • python+gdal+遙感圖像拼接(mosaic)的實(shí)例

    python+gdal+遙感圖像拼接(mosaic)的實(shí)例

    這篇文章主要介紹了python+gdal+遙感圖像拼接(mosaic)的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-03-03
  • 關(guān)于python與opc ua Expert endpoint連接的問題

    關(guān)于python與opc ua Expert endpoint連接的問題

    這篇文章主要介紹了關(guān)于python與opc ua Expert endpoint連接的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02

最新評(píng)論