亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python區塊鏈如何創建多個交易

發布時間:2022-05-23 13:58:32 來源:億速云 閱讀:158 作者:iii 欄目:開發技術

這篇“python區塊鏈如何創建多個交易”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“python區塊鏈如何創建多個交易”文章吧。

創建多個交易

各個客戶進行的交易在系統中排隊;礦工從這個隊列中獲取交易并將其添加到塊中.然后他們將挖掘區塊,獲勝的礦工將有權將區塊添加到區塊鏈中,從而為自己賺取一些錢.

顯示事務

display_transaction 函數接受事務類型的單個參數.接收到的事務中的字典對象被復制到名為 dict 的臨時變量,并使用字典鍵,各種值將打印在控制臺上.

def display_transaction(transaction):
   #for transaction in transactions:
   dict = transaction.to_dict()
   print ("sender: " + dict['sender'])
   print ('-----')
   print ("recipient: " + dict['recipient'])
   print ('-----')
   print ("value: " + str(dict['value']))
   print ('-----')
   print ("time: " + str(dict['time']))
   print ('-----')

接下來,我們定義一個事務隊列來存儲我們的事務對象.

交易隊列

要創建隊列,我們聲明一個名為 transactions 列表變量>如下 

transactions = []

我們將只需將每個新創建的事務附加到此隊列.請注意,為簡潔起見,我們不會在本教程中實現隊列管理邏輯.

創建多個客戶端

現在,我們將開始創建事務.首先,我們將創建四個客戶,他們將相互匯款以從其他人那里獲得各種服務或商品.

Dinesh = Client()
Ramesh = Client()
Seema = Client()
Vijay = Client()

此時,我們有四個客戶叫Dinesh,Ramesh,Seema和Vijay.我們目前假設這些客戶中的每一個都在他們的錢包中持有一些TPCoins用于交易.通過使用這些對象的標識屬性來指定每個客戶端的標識.

創建第一個事務

現在,我們首先啟動交易如下 :

t1 = Transaction(
   Dinesh,
   Ramesh.identity,
   15.0
)

在此交易中,Dinesh向Ramesh發送了5個TPCoins.為了使交易成功,我們必須確保Dinesh在他的錢包里有足夠的錢來支付這筆款項.請注意,我們需要一個genesis事務來啟動系統中的TPCoin循環.您將在閱讀時很快編寫此genesis事務的事務代碼.

我們將使用Dinesh的私鑰對此事務進行簽名,并將其添加到事務隊列中,如下所示 :

t1.sign_transaction()
transactions.append(t1)

在Dinesh做出的第一筆交易之后,我們將在上面創建的不同客戶之間創建更多交易.

添加更多交易

我們現在將創建幾個以上的交易,每個交易都會向另一方發放一些TPCoins.當有人花錢時,他沒有必要在這個錢包中檢查是否有足夠的余額.無論如何,礦工將在發起交易時驗證發件人所擁有的余額的每筆交易.

如果余額不足,礦工會將此交易標記為無效且不會添加這個塊.

以下代碼創建并添加了九個以上的事務.

t2 = Transaction(
   Dinesh,
   Seema.identity,
   6.0
)
t2.sign_transaction()
transactions.append(t2)
t3 = Transaction(
   Ramesh,
   Vijay.identity,
   2.0
)
t3.sign_transaction()
transactions.append(t3)
t4 = Transaction(
   Seema,
   Ramesh.identity,
   4.0
)
t4.sign_transaction()
transactions.append(t4)
t5 = Transaction(
   Vijay,
   Seema.identity,
   7.0
)
t5.sign_transaction()
transactions.append(t5)
t6 = Transaction(
   Ramesh,
   Seema.identity,
   3.0
)
t6.sign_transaction()
transactions.append(t6)
t7 = Transaction(
   Seema,
   Dinesh.identity,
   8.0
)
t7.sign_transaction()
transactions.append(t7)
t8 = Transaction(
   Seema,
   Ramesh.identity,
   1.0
)
t8.sign_transaction()
transactions.append(t8)
t9 = Transaction(
   Vijay,
   Dinesh.identity,
   5.0
)
t9.sign_transaction()
transactions.append(t9)
t10 = Transaction(
   Vijay,
   Ramesh.identity,
   3.0
)
t10.sign_transaction()
transactions.append(t10)

當你運行上面的代碼,你將在隊列中有十個交易來讓礦工創建他們的塊.

轉儲交易

作為區塊鏈經理,您可能會定期查看事務隊列的內容.為此,您可以使用我們之前開發的 display_transaction 函數.要轉儲隊列中的所有事務,只需迭代事務列表,并為每個引用的事務調用 display_transaction 函數,如下所示 :

for transaction in transactions:
   display_transaction (transaction)
   print ('--------------')

事務由虛線分隔以區分.如果你運行上面的代碼,你會看到如下所示的交易清單 :

sender:
30819f300d06092a864886f70d010101050003818d0030818902818100bb064c99c49214
4a9f463480273aba93ac1db1f0da3cb9f3c1f9d058cf499fd8e54d244da0a8dd6ddd329e
c86794b04d773eb4841c9f935ea4d9ccc2821c7a1082d23b6c928d59863407f52fa05d8b
47e5157f8fe56c2ce3279c657f9c6a80500073b0be8093f748aef667c03e64f04f84d311
c4d866c12d79d3fc3034563dfb0203010001
-----
recipient:
30819f300d06092a864886f70d010101050003818d0030818902818100be93b516b28c6e
674abe7abdb11ce0fdf5bb728b75216b73f37a6432e4b402b3ad8139b8c0ba541a72c8ad
d126b6e1a1308fb98b727beb63c6060356bb177bb7d54b54dbe87aee7353d0a6baa93977
04de625d1836d3f42c7ee5683f6703259592cc24b09699376807f28fe0e00ff882974484
d805f874260dfc2d1627473b910203010001
-----
value: 15.0
-----
time: 2019-01-14 16:18:01.859915
-----
--------------
sender:
30819f300d06092a864886f70d010101050003818d0030818902818100bb064c99c49214
4a9f463480273aba93ac1db1f0da3cb9f3c1f9d058cf499fd8e54d244da0a8dd6ddd329e
c86794b04d773eb4841c9f935ea4d9ccc2821c7a1082d23b6c928d59863407f52fa05d8b
47e5157f8fe56c2ce3279c657f9c6a80500073b0be8093f748aef667c03e64f04f84d311
c4d866c12d79d3fc3034563dfb0203010001
-----
recipient:
30819f300d06092a864886f70d010101050003818d0030818902818100a070c82b34ae14
3cbe59b3a2afde7186e9d5bc274955d8112d87a00256a35369acc4d0edfe65e8f9dc93fb
d9ee74b9e7ea12334da38c8c9900e6ced1c4ce93f86e06611e656521a1eab561892b7db0
961b4f212d1fd5b5e49ae09cf8c603a068f9b723aa8a651032ff6f24e5de00387e4d0623
75799742a359b8f22c5362e5650203010001
-----
value: 6.0
-----
time: 2019-01-14 16:18:01.860966
-----
--------------
sender:
30819f300d06092a864886f70d010101050003818d0030818902818100be93b516b28c6e
674abe7abdb11ce0fdf5bb728b75216b73f37a6432e4b402b3ad8139b8c0ba541a72c8ad
d126b6e1a1308fb98b727beb63c6060356bb177bb7d54b54dbe87aee7353d0a6baa93977
04de625d1836d3f42c7ee5683f6703259592cc24b09699376807f28fe0e00ff882974484
d805f874260dfc2d1627473b910203010001
-----
recipient:
30819f300d06092a864886f70d010101050003818d0030818902818100cba097c0854876
f41338c62598c658f545182cfa4acebce147aedf328181f9c4930f14498fd03c0af6b0cc
e25be99452a81df4fa30a53eddbb7bb7b203adf8764a0ccd9db6913a576d68d642d8fd47
452590137869c25d9ff83d68ebe6d616056a8425b85b52e69715b8b85ae807b84638d8f0
0e321b65e4c33acaf6469e18e30203010001
-----
value: 2.0
-----
time: 2019-01-14 16:18:01.861958
-----
--------------

為簡潔起見,我只先打印列表中的交易很少.在上面的代碼中,我們打印了從第一個事務開始的所有事務,除了從未添加到此列表的genesis事務.由于事務定期添加到塊中,您通常只想查看尚未開采的事務列表.在這種情況下,您需要創建一個適當的 for 循環來迭代尚未開采的事務.

以上就是關于“python區塊鏈如何創建多個交易”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

锡林浩特市| 满城县| 石首市| 崇明县| 兴化市| 镇康县| 金乡县| 区。| 南丹县| 永兴县| 稷山县| 阳山县| 运城市| 阳西县| 宝坻区| 葫芦岛市| 盐边县| 宜君县| 陇南市| 平罗县| 新源县| 罗平县| 康马县| 临夏县| 简阳市| 佛冈县| 黑龙江省| 吕梁市| 伊宁市| 大关县| 蚌埠市| 体育| 辰溪县| 万全县| 泾阳县| 安溪县| 吉木乃县| 宁陵县| 托里县| 凌源市| 黔西县|