最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python區(qū)塊鏈交易類教程

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

創(chuàng)建 Transaction 類

在本章中,讓我們創(chuàng)建一個(gè) Transaction 類,以便客戶能夠向某人匯款.請(qǐng)注意,客戶可以是貨幣的發(fā)件人或收件人.當(dāng)您想要收款時(shí),其他一些發(fā)件人將創(chuàng)建一個(gè)交易并在其中指定您的公開地址.我們將事務(wù)類的初始化定義如下 :

def?__init__(self,?sender,?recipient,?value):
???self.sender?=?sender
???self.recipient?=?recipient
???self.value?=?value
???self.time?=?datetime.datetime.now()

init 方法有三個(gè)參數(shù) : 發(fā)件人的公開鍵,收件人的公開鍵以及要發(fā)送的金額.它們存儲(chǔ)在實(shí)例變量中以供其他方法使用.另外,我們創(chuàng)建了一個(gè)用于存儲(chǔ)事務(wù)時(shí)間的變量.

接下來,我們編寫一個(gè)名為 to_dict 的實(shí)用程序方法,它結(jié)合了上述四個(gè)實(shí)例字典對(duì)象中的變量.這只是通過一個(gè)變量來訪問整個(gè)交易信息.

正如您在前面的教程中所知,區(qū)塊鏈中的第一個(gè)區(qū)塊是 Genesis 塊. Genesis塊包含區(qū)塊鏈創(chuàng)建者發(fā)起的第一個(gè)事務(wù).這個(gè)人的身份可能像比特幣一樣保密.因此,當(dāng)創(chuàng)建第一個(gè)交易時(shí),創(chuàng)建者可以將其身份發(fā)送為 Genesis .因此,在創(chuàng)建字典時(shí),我們檢查發(fā)件人是否 Genesis ,如果是,我們只需將一些字符串值賦給身份變量;否則,我們將發(fā)件人的身份分配給身份變量.

if?self.sender?==?"Genesis":
???identity?=?"Genesis"
else:
???identity?=?self.sender.identity

我們使用以下構(gòu)建字典代碼行

return?collections.OrderedDict({
???'sender':?identity,
???'recipient':?self.recipient,
???'value':?self.value,
???'time'?:?self.time})

整個(gè)代碼 to_dict 方法如下所示 :

def?to_dict(self):
???if?self.sender?==?"Genesis":
??????identity?=?"Genesis"
???else:
??????identity?=?self.sender.identity
???return?collections.OrderedDict({
??????'sender':?identity,
??????'recipient':?self.recipient,
??????'value':?self.value,
??????'time'?:?self.time})

最后,我們將使用發(fā)件人的私鑰對(duì)此字典對(duì)象進(jìn)行簽名.和以前一樣,我們使用帶有SHA算法的內(nèi)置PKI.生成的簽名被解碼以獲得用于打印的ASCII表示并將其存儲(chǔ)在我們的區(qū)塊鏈中. sign_transaction 方法代碼顯示在這里 :

def?sign_transaction(self):
???private_key?=?self.sender._private_key
???signer?=?PKCS1_v1_5.new(private_key)
???h?=?SHA.new(str(self.to_dict()).encode('utf8'))
???return?binascii.hexlify(signer.sign(h)).decode('ascii')

我們現(xiàn)在將測(cè)試這個(gè) Transaction 類.

測(cè)試交易類

為此,我們將創(chuàng)建兩個(gè)用戶,名為 Dinesh 和 Ramesh . Dinesh將向Ramesh發(fā)送5個(gè)TPCoins.為此,我們首先創(chuàng)建名為Dinesh和Ramesh的客戶端.

Dinesh?=?Client()
Ramesh?=?Client()

請(qǐng)記住,當(dāng)您實(shí)例化客戶端類時(shí),將創(chuàng)建客戶端唯一的公共和私鑰.當(dāng)Dinesh向Ramesh發(fā)送付款時(shí),他將需要使用客戶端的身份屬性獲得的Ramesh的公鑰.

因此,我們將使用以下代碼創(chuàng)建事務(wù)實(shí)例 :

t?=?Transaction(
???Dinesh,
???Ramesh.identity,
???5.0
)

請(qǐng)注意,第一個(gè)參數(shù)是發(fā)件人,第二個(gè)參數(shù)是收件人的公鑰,第三個(gè)參數(shù)是要傳輸?shù)慕痤~. sign_transaction 方法從第一個(gè)參數(shù)中檢索發(fā)件人的私鑰,用于演唱交易.

創(chuàng)建事務(wù)對(duì)象后,您將通過調(diào)用它來對(duì)其進(jìn)行簽名b> sign_transaction 方法.此方法以可打印格式返回生成的簽名.我們使用以下兩行代碼生成并打印簽名 :

signature?=?t.sign_transaction()
print?(signature)

當(dāng)你運(yùn)行上面的代碼時(shí),你會(huì)看到類似于這個(gè) : 的輸出;

7c7e3c97629b218e9ec6e86b01f9abd8e361fd69e7d373c38420790b655b9abe3b575e343c7

13703ca1aee781acd7157a0624db3d57d7c2f1172730ee3f45af943338157f899965856f6b0

0e34db240b62673ad5a08c8e490f880b568efbc36035cae2e748f1d802d5e8e66298be826f5

c6363dc511222fb2416036ac04eb972

現(xiàn)在作為我們創(chuàng)建客戶端的基礎(chǔ)設(shè)施和如果交易準(zhǔn)備就緒,我們現(xiàn)在將有多個(gè)客戶在現(xiàn)實(shí)生活中進(jìn)行多筆交易.

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

相關(guān)文章

  • Python實(shí)現(xiàn)生活常識(shí)解答機(jī)器人

    Python實(shí)現(xiàn)生活常識(shí)解答機(jī)器人

    今天教大家如何用Python爬蟲去搭建一個(gè)「生活常識(shí)解答」機(jī)器人.思路:這個(gè)機(jī)器人主要是依托于“阿里達(dá)摩院發(fā)布的語言模型PLUG”,通過爬蟲的方式,發(fā)送post請(qǐng)求(提問),然后返回json數(shù)據(jù)(回答),需要的朋友可以參考下
    2021-06-06
  • 用Python寫一段用戶登錄的程序代碼

    用Python寫一段用戶登錄的程序代碼

    下面小編就為大家分享一篇用Python寫一段用戶登錄的程序代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • 基于Python制作GIF表情包生成工具

    基于Python制作GIF表情包生成工具

    在當(dāng)前無表情包不會(huì)聊天的時(shí)代,怎么也不能輸在表情包數(shù)量不足上啊,今天咱們就來基于Python制作一個(gè)?gif?生成工具,用來制作表情包也太好用啦
    2023-07-07
  • python的中異常處理機(jī)制

    python的中異常處理機(jī)制

    這篇文章主要介紹了python的中異常處理的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-08-08
  • python實(shí)現(xiàn)百度OCR圖片識(shí)別過程解析

    python實(shí)現(xiàn)百度OCR圖片識(shí)別過程解析

    這篇文章主要介紹了python實(shí)現(xiàn)百度OCR圖片識(shí)別過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-01-01
  • Python實(shí)現(xiàn)大樂透號(hào)碼隨機(jī)生成

    Python實(shí)現(xiàn)大樂透號(hào)碼隨機(jī)生成

    全國(guó)有很多彩民,其中購(gòu)買最多的彩種分別是體彩大樂透和福彩雙色球。本篇文章將介紹Python實(shí)現(xiàn)彩票自由的全流程:隨機(jī)選取號(hào)碼+查看是否中獎(jiǎng),需要的可以參考一下
    2022-05-05
  • 如何利用Python動(dòng)態(tài)展示排序算法

    如何利用Python動(dòng)態(tài)展示排序算法

    Python是一種簡(jiǎn)單易學(xué),功能強(qiáng)大的編程語言,它有高效率的高層數(shù)據(jù)結(jié)構(gòu),能夠簡(jiǎn)單、有效地實(shí)現(xiàn)面向?qū)ο缶幊?下面這篇文章主要給大家介紹了關(guān)于如何利用Python動(dòng)態(tài)展示排序算法的相關(guān)資料,需要的朋友可以參考下
    2021-10-10
  • Python合并Excel表(多sheet)的實(shí)現(xiàn)

    Python合并Excel表(多sheet)的實(shí)現(xiàn)

    這篇文章主要介紹了Python合并Excel表(多sheet)的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • python從list列表中選出一個(gè)數(shù)和其對(duì)應(yīng)的坐標(biāo)方法

    python從list列表中選出一個(gè)數(shù)和其對(duì)應(yīng)的坐標(biāo)方法

    今天小編就為大家分享一篇python從list列表中選出一個(gè)數(shù)和其對(duì)應(yīng)的坐標(biāo)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • 通過代碼實(shí)例了解Python3編程技巧

    通過代碼實(shí)例了解Python3編程技巧

    這篇文章主要介紹了通過代碼實(shí)例了解Python3編程技巧,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10

最新評(píng)論

凤山市| 应城市| 舟曲县| 嘉义市| 凉城县| 花莲县| 浪卡子县| 盐城市| 响水县| 六安市| 蒙山县| 德令哈市| 三亚市| 二连浩特市| 大埔县| 邻水| 高碑店市| 灵璧县| 庆元县| 宣汉县| 和田县| 曲靖市| 谷城县| 天门市| 恩施市| 库伦旗| 玉田县| 永顺县| 富阳市| 凭祥市| 喀什市| 海门市| 舒城县| 留坝县| 田林县| 德令哈市| 合山市| 象州县| 乐业县| 肥乡县| 合水县|