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

Python區(qū)塊鏈塊的添加教程

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

每個(gè)礦工將從先前創(chuàng)建的交易池中獲取交易.要跟蹤已挖掘的消息數(shù)量,我們必須創(chuàng)建一個(gè)全局變量 :

last_transaction_index = 0

我們現(xiàn)在讓我們的第一個(gè)礦工在區(qū)塊鏈中添加一個(gè)區(qū)塊.

添加第一個(gè)區(qū)塊

到添加一個(gè)新塊,我們首先創(chuàng)建一個(gè) Block 類的實(shí)例

block = Block()

我們從隊(duì)列中選取前3個(gè)交易并減去;

for?i?in?range(3):
???temp_transaction?=?transactions[last_transaction_index]
???#?validate?transaction

在將事務(wù)添加到塊之前礦工將驗(yàn)證交易的有效性.通過測(cè)試發(fā)送方提供的哈希與礦工使用發(fā)送方公鑰生成的哈希的相等性來驗(yàn)證交易有效性.此外,礦工將驗(yàn)證發(fā)件人是否有足夠的余額來支付當(dāng)前交易.

為簡(jiǎn)潔起見,我們未在教程中包含此功能.驗(yàn)證交易后,我們將其添加到塊實(shí)例中的 verified_transactions 列表中.

block.verified_transactions.append(temp_transaction)

我們遞增最后一個(gè)事務(wù)索引,以便下一個(gè)礦工將獲取隊(duì)列中的后續(xù)事務(wù)

last_transaction_index + = 1

我們?cè)趬K中添加了三個(gè)交易.完成此操作后,我們將初始化 Block 類的其余實(shí)例變量.我們首先添加最后一個(gè)塊的哈希值.

block.previous_block_hash = last_block_hash

接下來,我們挖掘難度等級(jí)為2的區(qū)塊.

block.Nonce = mine(block,2)

請(qǐng)注意, mine 函數(shù)的第一個(gè)參數(shù)是二進(jìn)制對(duì)象.我們現(xiàn)在對(duì)整個(gè)塊進(jìn)行哈希并在其上創(chuàng)建摘要.

digest = hash(block)

最后,我們將創(chuàng)建的塊添加到區(qū)塊鏈中,并重新初始化全局變量 last_block_hash ,以便在下一個(gè)區(qū)塊中使用.

添加塊的整個(gè)代碼顯示在下面 :

block?=?Block()
for?i?in?range(3):
???temp_transaction?=?transactions[last_transaction_index]
???#?validate?transaction
???#?if?valid
???block.verified_transactions.append?(temp_transaction)
???last_transaction_index?+=?1
block.previous_block_hash?=?last_block_hash
block.Nonce?=?mine?(block,?2)
digest?=?hash?(block)
TPCoins.append?(block)
last_block_hash?=?digest

添加更多塊

現(xiàn)在我們將向區(qū)塊鏈添加兩個(gè)塊.添加下兩個(gè)塊的代碼在下面和下面給出;

#?Miner?2?adds?a?block
block?=?Block()
for?i?in?range(3):
???temp_transaction?=?transactions[last_transaction_index]
???#?validate?transaction
???#?if?valid
???block.verified_transactions.append?(temp_transaction)
???last_transaction_index?+=?1
block.previous_block_hash?=?last_block_hash
block.Nonce?=?mine?(block,?2)digest?=?hash?(block)
TPCoins.append?(block)last_block_hash?=?digest
#?Miner?3?adds?a?block
block?=?Block()
for?i?in?range(3):
???temp_transaction?=?transactions[last_transaction_index]
???#display_transaction?(temp_transaction)
???#?validate?transaction
???#?if?valid
???block.verified_transactions.append?(temp_transaction)
???last_transaction_index?+=?1
block.previous_block_hash?=?last_block_hash
block.Nonce?=?mine?(block,?2)
digest?=?hash?(block)
TPCoins.append?(block)
last_block_hash?=?digest

當(dāng)你添加這兩個(gè)塊時(shí),您還將看到查找Nonce所需的迭代次數(shù).此時(shí),我們的區(qū)塊鏈共包含4個(gè)區(qū)塊,包括創(chuàng)世區(qū)塊.

轉(zhuǎn)儲(chǔ)整個(gè)區(qū)塊鏈

您可以驗(yàn)證整個(gè)區(qū)塊鏈的內(nèi)容使用以下語(yǔ)句 :

dump_blockchain(TPCoins)

你會(huì)看到輸出類似于下面顯示的那個(gè) :

Number?of?blocks?in?the?chain:?4
block?#?0
sender:?Genesis
-----
recipient:
30819f300d06092a864886f70d010101050003818d0030818902818100ed272b52ccb539e2cd779
c6cc10ed1dfadf5d97c6ab6de90ed0372b2655626fb79f62d0e01081c163b0864cc68d426bbe943
8e8566303bb77414d4bfcaa3468ab7febac099294de10273a816f7047d4087b4bafa11f141544d4
8e2f10b842cab91faf33153900c7bf6c08c9e47a7df8aa7e60dc9e0798fb2ba3484bbdad2e44302
03010001
-----
value:?500.0
-----
time:?2019-01-14?16:18:02.042739
-----
--------------
=====================================
block?#?1
sender:
30819f300d06092a864886f70d010101050003818d0030818902818100bb064c99c492144a9f463
480273aba93ac1db1f0da3cb9f3c1f9d058cf499fd8e54d244da0a8dd6ddd329ec86794b04d773e
b4841c9f935ea4d9ccc2821c7a1082d23b6c928d59863407f52fa05d8b47e5157f8fe56c2ce3279
c657f9c6a80500073b0be8093f748aef667c03e64f04f84d311c4d866c12d79d3fc3034563dfb02
03010001
-----
recipient:
30819f300d06092a864886f70d010101050003818d0030818902818100be93b516b28c6e674abe7
abdb11ce0fdf5bb728b75216b73f37a6432e4b402b3ad8139b8c0ba541a72c8add126b6e1a1308f
b98b727beb63c6060356bb177bb7d54b54dbe87aee7353d0a6baa9397704de625d1836d3f42c7ee
5683f6703259592cc24b09699376807f28fe0e00ff882974484d805f874260dfc2d1627473b9102
03010001
-----
value:?15.0
-----
time:?2019-01-14?16:18:01.859915
-----
--------------
sender:
30819f300d06092a864886f70d010101050003818d0030818902818100bb064c99c492144a9f463
480273aba93ac1db1f0da3cb9f3c1f9d058cf499fd8e54d244da0a8dd6ddd329ec86794b04d773e
b4841c9f935ea4d9ccc2821c7a1082d23b6c928d59863407f52fa05d8b47e5157f8fe56c2ce3279
c657f9c6a80500073b0be8093f748aef667c03e64f04f84d311c4d866c12d79d3fc3034563dfb02
03010001
-----
recipient:
30819f300d06092a864886f70d010101050003818d0030818902818100a070c82b34ae143cbe59b
3a2afde7186e9d5bc274955d8112d87a00256a35369acc4d0edfe65e8f9dc93fbd9ee74b9e7ea12
334da38c8c9900e6ced1c4ce93f86e06611e656521a1eab561892b7db0961b4f212d1fd5b5e49ae
09cf8c603a068f9b723aa8a651032ff6f24e5de00387e4d062375799742a359b8f22c5362e56502
03010001
-----
value:?6.0
-----
time:?2019-01-14?16:18:01.860966
-----
--------------
sender:
30819f300d06092a864886f70d010101050003818d0030818902818100be93b516b28c6e674abe7
abdb11ce0fdf5bb728b75216b73f37a6432e4b402b3ad8139b8c0ba541a72c8add126b6e1a1308f
b98b727beb63c6060356bb177bb7d54b54dbe87aee7353d0a6baa9397704de625d1836d3f42c7ee
5683f6703259592cc24b09699376807f28fe0e00ff882974484d805f874260dfc2d1627473b9102
03010001
-----
recipient:
30819f300d06092a864886f70d010101050003818d0030818902818100cba097c0854876f41338c
62598c658f545182cfa4acebce147aedf328181f9c4930f14498fd03c0af6b0cce25be99452a81d
f4fa30a53eddbb7bb7b203adf8764a0ccd9db6913a576d68d642d8fd47452590137869c25d9ff83
d68ebe6d616056a8425b85b52e69715b8b85ae807b84638d8f00e321b65e4c33acaf6469e18e302
03010001
-----
value:?2.0
-----
time:?2019-01-14?16:18:01.861958
-----
--------------
=====================================
block?#?2
sender:
30819f300d06092a864886f70d010101050003818d0030818902818100a070c82b34ae143cbe59b
3a2afde7186e9d5bc274955d8112d87a00256a35369acc4d0edfe65e8f9dc93fbd9ee74b9e7ea12
334da38c8c9900e6ced1c4ce93f86e06611e656521a1eab561892b7db0961b4f212d1fd5b5e49ae
09cf8c603a068f9b723aa8a651032ff6f24e5de00387e4d062375799742a359b8f22c5362e56502
03010001
-----
recipient:
30819f300d06092a864886f70d010101050003818d0030818902818100be93b516b28c6e674abe7
abdb11ce0fdf5bb728b75216b73f37a6432e4b402b3ad8139b8c0ba541a72c8add126b6e1a1308f
b98b727beb63c6060356bb177bb7d54b54dbe87aee7353d0a6baa9397704de625d1836d3f42c7ee
5683f6703259592cc24b09699376807f28fe0e00ff882974484d805f874260dfc2d1627473b9102
03010001
-----
value:?4.0
-----
time:?2019-01-14?16:18:01.862946
-----
--------------
sender:
30819f300d06092a864886f70d010101050003818d0030818902818100cba097c0854876f41338c
62598c658f545182cfa4acebce147aedf328181f9c4930f14498fd03c0af6b0cce25be99452a81d
f4fa30a53eddbb7bb7b203adf8764a0ccd9db6913a576d68d642d8fd47452590137869c25d9ff83
d68ebe6d616056a8425b85b52e69715b8b85ae807b84638d8f00e321b65e4c33acaf6469e18e302
03010001
-----
recipient:
30819f300d06092a864886f70d010101050003818d0030818902818100a070c82b34ae143cbe59b
3a2afde7186e9d5bc274955d8112d87a00256a35369acc4d0edfe65e8f9dc93fbd9ee74b9e7ea12
334da38c8c9900e6ced1c4ce93f86e06611e656521a1eab561892b7db0961b4f212d1fd5b5e49ae
09cf8c603a068f9b723aa8a651032ff6f24e5de00387e4d062375799742a359b8f22c5362e56502
03010001
-----
value:?7.0
-----
time:?2019-01-14?16:18:01.863932
-----
--------------
sender:
30819f300d06092a864886f70d010101050003818d0030818902818100be93b516b28c6e674abe7
abdb11ce0fdf5bb728b75216b73f37a6432e4b402b3ad8139b8c0ba541a72c8add126b6e1a1308f
b98b727beb63c6060356bb177bb7d54b54dbe87aee7353d0a6baa9397704de625d1836d3f42c7ee
5683f6703259592cc24b09699376807f28fe0e00ff882974484d805f874260dfc2d1627473b9102
03010001
-----
recipient:
30819f300d06092a864886f70d010101050003818d0030818902818100a070c82b34ae143cbe59b
3a2afde7186e9d5bc274955d8112d87a00256a35369acc4d0edfe65e8f9dc93fbd9ee74b9e7ea12
334da38c8c9900e6ced1c4ce93f86e06611e656521a1eab561892b7db0961b4f212d1fd5b5e49ae
09cf8c603a068f9b723aa8a651032ff6f24e5de00387e4d062375799742a359b8f22c5362e56502
03010001
-----
value:?3.0
-----
time:?2019-01-14?16:18:01.865099
-----
--------------
=====================================
block?#?3
sender:
30819f300d06092a864886f70d010101050003818d0030818902818100a070c82b34ae143cbe59b
3a2afde7186e9d5bc274955d8112d87a00256a35369acc4d0edfe65e8f9dc93fbd9ee74b9e7ea12
334da38c8c9900e6ced1c4ce93f86e06611e656521a1eab561892b7db0961b4f212d1fd5b5e49ae
09cf8c603a068f9b723aa8a651032ff6f24e5de00387e4d062375799742a359b8f22c5362e56502
03010001
-----
recipient:
30819f300d06092a864886f70d010101050003818d0030818902818100bb064c99c492144a9f463
480273aba93ac1db1f0da3cb9f3c1f9d058cf499fd8e54d244da0a8dd6ddd329ec86794b04d773e
b4841c9f935ea4d9ccc2821c7a1082d23b6c928d59863407f52fa05d8b47e5157f8fe56c2ce3279
c657f9c6a80500073b0be8093f748aef667c03e64f04f84d311c4d866c12d79d3fc3034563dfb02
03010001
-----
value:?8.0
-----
time:?2019-01-14?16:18:01.866219
-----
--------------
sender:
30819f300d06092a864886f70d010101050003818d0030818902818100a070c82b34ae143cbe59b
3a2afde7186e9d5bc274955d8112d87a00256a35369acc4d0edfe65e8f9dc93fbd9ee74b9e7ea12
334da38c8c9900e6ced1c4ce93f86e06611e656521a1eab561892b7db0961b4f212d1fd5b5e49ae
09cf8c603a068f9b723aa8a651032ff6f24e5de00387e4d062375799742a359b8f22c5362e56502
03010001
-----
recipient:
30819f300d06092a864886f70d010101050003818d0030818902818100be93b516b28c6e674abe7
abdb11ce0fdf5bb728b75216b73f37a6432e4b402b3ad8139b8c0ba541a72c8add126b6e1a1308f
b98b727beb63c6060356bb177bb7d54b54dbe87aee7353d0a6baa9397704de625d1836d3f42c7ee
5683f6703259592cc24b09699376807f28fe0e00ff882974484d805f874260dfc2d1627473b9102
03010001
-----
value:?1.0
-----
time:?2019-01-14?16:18:01.867223
-----
--------------
sender:
30819f300d06092a864886f70d010101050003818d0030818902818100cba097c0854876f41338c
62598c658f545182cfa4acebce147aedf328181f9c4930f14498fd03c0af6b0cce25be99452a81d
f4fa30a53eddbb7bb7b203adf8764a0ccd9db6913a576d68d642d8fd47452590137869c25d9ff83
d68ebe6d616056a8425b85b52e69715b8b85ae807b84638d8f00e321b65e4c33acaf6469e18e302
03010001
-----
recipient:?
30819f300d06092a864886f70d010101050003818d0030818902818100bb064c99c492144a9f463
480273aba93ac1db1f0da3cb9f3c1f9d058cf499fd8e54d244da0a8dd6ddd329ec86794b04d773e
b4841c9f935ea4d9ccc2821c7a1082d23b6c928d59863407f52fa05d8b47e5157f8fe56c2ce3279
c657f9c6a80500073b0be8093f748aef667c03e64f04f84d311c4d866c12d79d3fc3034563dfb02
03010001
-----
value:?5.0
-----
time:?2019-01-14?16:18:01.868241
-----
--------------
=====================================

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

相關(guān)文章

  • python將四元數(shù)變換為旋轉(zhuǎn)矩陣的實(shí)例

    python將四元數(shù)變換為旋轉(zhuǎn)矩陣的實(shí)例

    今天小編就為大家分享一篇python將四元數(shù)變換為旋轉(zhuǎn)矩陣的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python中往列表中插入字典時(shí),數(shù)據(jù)重復(fù)問題

    Python中往列表中插入字典時(shí),數(shù)據(jù)重復(fù)問題

    這篇文章主要介紹了Python中往列表中插入字典時(shí),數(shù)據(jù)重復(fù)問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-02-02
  • 基于python的docx模塊處理word和WPS的docx格式文件方式

    基于python的docx模塊處理word和WPS的docx格式文件方式

    今天小編就為大家分享一篇基于python的docx模塊處理word和WPS的docx格式文件方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-02-02
  • python中g(shù)etopt()函數(shù)用法詳解

    python中g(shù)etopt()函數(shù)用法詳解

    這篇文章主要介紹了python中g(shù)etopt()函數(shù)用法,通過getopt模塊中的getopt(?)方法,我們可以獲取和解析命令行傳入的參數(shù),需要的朋友可以參考下
    2022-12-12
  • pandas常用表連接merge/concat/join/append詳解

    pandas常用表連接merge/concat/join/append詳解

    使用python的pandas庫(kù)可以很容易幫你搞定,而且性能也是很出色的;百萬(wàn)級(jí)的表關(guān)聯(lián),可以秒出,本文給大家分享pandas常用表連接merge/concat/join/append詳解,感興趣的朋友跟隨小編一起看看吧
    2023-02-02
  • 通過Python編寫一個(gè)簡(jiǎn)單登錄功能過程解析

    通過Python編寫一個(gè)簡(jiǎn)單登錄功能過程解析

    這篇文章主要介紹了通過Python編寫一個(gè)簡(jiǎn)單登錄功能過程解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • python3連接MySQL8.0的兩種方式

    python3連接MySQL8.0的兩種方式

    這篇文章主要介紹了python3連接MySQL8.0的兩種方式,本文通過多種方式給大家介紹的非常詳細(xì),代碼附有文字注釋,需要的朋友可以參考下
    2020-02-02
  • 利用Python還原方陣游戲詳解

    利用Python還原方陣游戲詳解

    這篇文章的靈感來源于我玩游戲的時(shí)候,看見一個(gè)大佬在游戲里面建造了“還原方陣游戲”,就感覺很牛掰,就想著python不是有矩陣嗎,可以還原一下呢,感興趣的小伙伴可以了解一下
    2023-01-01
  • jupyter notebook中美觀顯示矩陣實(shí)例

    jupyter notebook中美觀顯示矩陣實(shí)例

    這篇文章主要介紹了jupyter notebook中美觀顯示矩陣實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-04-04
  • python使用phoenixdb操作hbase的方法示例

    python使用phoenixdb操作hbase的方法示例

    這篇文章主要介紹了python使用phoenixdb操作hbase的方法示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02

最新評(píng)論