国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

用不到50行的Python代碼,構建最小的區塊鏈

開發 后端
盡管一些人認為區塊鏈是一個等待問題的解決方案,但毫無疑問,這種新技術是計算機的奇跡。但是,區塊鏈到底是什么呢?在本文中,我將用不到50行的Python2代碼來做一個簡單的區塊鏈。我稱它為SnakeCoin。

[[211080]]

盡管一些人認為區塊鏈是一個等待問題的解決方案,但毫無疑問,這種新技術是計算機的奇跡。但是,區塊鏈到底是什么呢?

區塊鏈

它是比特幣或其他加密貨幣進行交易的數字賬本,賬本按時間順序記錄并對外公開。

在更一般的術語中,它是一個公共數據庫,新數據存儲在一個名為塊的容器中,并被添加到一個不可變鏈(后來的區塊鏈)中添加了過去的數據。在比特幣和其他加密貨幣的情況下,這些數據是一組交易記錄。當然,數據可以是任何類型的。

區塊鏈技術已經催生了新的、完全數字化的貨幣,如比特幣和萊特幣,這些貨幣并不是由中央政府發行或管理的。因此為那些認為今天的銀行系統是騙局或終將失敗的人帶來了新的自由。區塊鏈所包含的以太坊技術對分布式計算進行了變革創新,它引入了一些有趣的概念,比如智能合約。

在本文中,我將用不到50行的Python2代碼來做一個簡單的區塊鏈。我稱它為SnakeCoin。

首先將定義塊將是什么樣子。在區塊鏈中,每個塊都存儲一個時間戳和一個索引。在SnakeCoin中,需要把兩者都存儲起來。為了確保整個區塊鏈的完整性,每個塊都有一個自動識別散列。與比特幣一樣,每個塊的散列將是塊索引、時間戳、數據和前塊哈希的加密哈希。數據可以是你想要的任何東西。

  1. import hashlib as hasher 
  2.   
  3. class Block: 
  4.   def __init__(self, indextimestamp, data, previous_hash): 
  5.     self.index = index 
  6.     self.timestamp = timestamp 
  7.     self.data = data 
  8.     self.previous_hash = previous_hash 
  9.     self.hash = self.hash_block() 
  10.   
  11.   def hash_block(self): 
  12.     sha = hasher.sha256() 
  13.     sha.update(str(self.index) + 
  14.                str(self.timestamp) + 
  15.                str(self.data) + 
  16.                str(self.previous_hash)) 
  17.     return sha.hexdigest() 

這一步后有塊結構,但現在是創建區塊鏈,所以需要向實際的鏈中添加塊。如前所述,每個塊都需要上一個塊的信息。但是按照這個說法就有一個問題,區塊鏈的***個區塊是如何到達那里的呢?不得不說,***個塊,或者說是起源塊,它是一個特殊的塊。在很多情況下,它是手動添加的,或者有獨特的邏輯允許添加。

下面將創建一個函數簡單地返回一個起源塊以便產生***個區塊。這個塊是索引0,它具有任意的數據值和“前一個哈希”參數中的任意值。

  1. import datetime as date 
  2.   
  3. def create_genesis_block(): 
  4.   # Manually construct a block with 
  5.   # index zero and arbitrary previous hash 
  6.   return Block(0, date.datetime.now(), "Genesis Block""0"

現在已經創建好了起源塊,接下來需要一個函數,以便在區塊鏈中生成后續的塊。這個函數將把鏈中的前一個塊作為參數,創建要生成的塊的數據,并使用適當的數據返回新塊。當新的塊哈希信息來自前面的塊時,區塊鏈的完整性會隨著每個新塊而增加。如果不這樣做,外部組織就更容易“改變過去”,用全新的方式取代已有的鏈條。這一系列的散列可以作為加密的證據,有助于確保一旦將塊添加到區塊鏈,它就不能被替換或刪除。

  1. def next_block(last_block): 
  2.   this_index = last_block.index + 1 
  3.   this_timestamp = date.datetime.now() 
  4.   this_data = "Hey! I'm block " + str(this_index) 
  5.   this_hash = last_block.hash 
  6.   return Block(this_index, this_timestamp, this_data, this_hash) 

大部分的工作已經完成,現在可以創建區塊鏈了。在這次的示例中,區塊鏈本身是一個簡單的Python列表。列表的***個元素是起源塊。當然,還需要添加后續的塊,因為SnakeCoin是最小的區塊鏈,這里只添加20個新的塊。可以用for循環來生成新塊。

  1. Create the blockchain and add the genesis block 
  2. blockchain = [create_genesis_block()] 
  3. previous_block = blockchain[0] 
  4.   
  5. # How many blocks should we add to the chain 
  6. after the genesis block 
  7. num_of_blocks_to_add = 20 
  8.   
  9. Add blocks to the chain 
  10. for i in range(0, num_of_blocks_to_add): 
  11.   block_to_add = next_block(previous_block) 
  12.   blockchain.append(block_to_add) 
  13.   previous_block = block_to_add 
  14.   # Tell everyone about it! 
  15.   print "Block #{} has been added to the blockchain!".format(block_to_add.index
  16.   print "Hash: {}\n".format(block_to_add.hash) 

下面來測試一下目前產生的區塊鏈。

看到了吧,這就是區塊鏈。如果希望在控制臺中查看更多信息,可以編輯完整的源文件并打印每個塊的時間戳或數據。

這就是SnakeCoin要提供的所有東西。為了使SnakeCoin規模達到今天生產區塊鏈的規模,必須添加更多的功能,比如服務器層,以跟蹤多臺機器上的鏈變化,以及在給定的時間段內限制添加的塊數量的工作算法。

責任編輯:龐桂玉 來源: Python開發者
相關推薦

2018-01-30 22:07:18

Python區塊鏈比特幣

2018-07-12 09:51:04

Python代碼對象模型

2020-07-22 11:20:28

網絡安全信息安全技術

2019-06-05 15:00:28

Java代碼區塊鏈

2018-02-06 10:04:59

2018-03-19 17:40:10

Python區塊鏈

2025-08-05 08:34:13

前端工具Node.js

2018-06-19 08:35:51

情感分析數據集代碼

2021-07-29 16:58:22

區塊鏈比特幣數字貨幣

2021-12-31 08:56:13

程序員算法代碼

2020-05-06 10:10:06

JavaScript 3D 游戲

2018-01-23 09:17:22

Python人臉識別

2021-03-10 15:49:32

算法數據結構前端

2018-05-15 10:26:10

區塊鏈數字貨幣比特幣

2021-09-23 22:40:10

區塊鏈比特幣技術

2019-11-20 14:29:57

區塊鏈人才招聘

2018-04-02 16:35:57

區塊鏈數字貨幣比特幣

2020-05-13 09:45:08

區塊鏈公共區塊鏈私有區塊鏈

2018-03-27 09:52:30

區塊鏈數字貨幣比特幣

2018-09-27 11:44:39

區塊鏈
點贊
收藏

51CTO技術棧公眾號

色综合咪咪久久网| 中文字幕亚洲影视| 午夜免费久久看| 一区二区三区国产免费| 精品中文av资源站在线观看| 国产伦一区二区三区色一情| 日韩精品一区二区久久| 欧美在线亚洲一区| 欧美成人午夜77777| 亚洲系列中文字幕| 中国色在线日|韩| 精品日韩av一区二区| 三区四区在线视频| 欧美性xxxxx| 免费毛片在线| 欧美三级电影网站| 91av在线网站| 国产精品一线天粉嫩av| 欧美日韩午夜在线视频| 国产精品高精视频免费| 国产成人一二片| 欧美乱大交做爰xxxⅹ性3| 国产精品一区二区精品| 欧美美女15p| 你懂的在线观看一区二区| 国产综合在线看| 国产尤物久久久| 亚洲在线一区二区| 中文亚洲免费| 亚洲欧洲一区二区| 美国三级日本三级久久99| 一区二区视频国产| 国产酒店精品激情| 青青草精品视频在线| 成人激情小说乱人伦| 奇米影视亚洲色图| 久久综合九色综合欧美就去吻| 日韩在线第三页| 亚洲欧美欧美一区二区三区| 在线观看一级片| 欧美亚洲综合久久| 大片免费在线观看| 国产午夜精品久久久| 福利视频亚洲| 5566成人精品视频免费| 第九色区aⅴ天堂久久香| 国产精品视频500部| 人妖欧美一区二区| 免费一级特黄特色毛片久久看| 国产欧美日韩久久| 手机亚洲第一页| 精品国产亚洲在线| 精品中文字幕一区二区三区四区| 欧洲美女7788成人免费视频| 国产精品分类| 国产精品久久久久久久久电影网| 美女久久一区| 美洲精品一卡2卡三卡4卡四卡| 狠狠色狠狠色综合日日小说| xx欧美撒尿嘘撒尿xx| 久久久久国产成人精品亚洲午夜| 老子影院午夜伦不卡大全| 国产一区二区精品在线观看| 成年无码av片在线| 色戒在线免费观看| 欧美成人午夜激情视频| 天天综合网站| 欧美日韩高清一区二区不卡 | 欧美在线观看成人| 夜夜揉揉日日人人青青一国产精品 | 日韩中文字幕二区| 欧美性猛交xxxx乱大交蜜桃 | 综合国产视频| 久久一区二区三区欧美亚洲| 91丨porny丨首页| 日韩精品视频无播放器在线看| 日韩欧美你懂的| 精品素人av| 亚洲精品不卡| 亚洲精品日韩专区silk| 51漫画成人app入口| 国产精品视频xxx| www.成人网.com| 黄色小网站在线观看| 久久久久久久久久久久av| 亚洲欧美日本视频在线观看| 中文字幕在线观看第三页| 欧美三级中文字| 欧美电影在线观看免费| 中国老女人av| 欧美日韩黄色影视| 亚洲精品亚洲人成在线| 91国在线高清视频| 欧美性大战久久久久久久| 天堂va欧美ⅴa亚洲va一国产| 性欧美大战久久久久久久免费观看 | 国产经典一区| 国产麻豆乱码精品一区二区三区 | 黄色www网站| 日韩视频国产视频| 97视频精品| 手机看片一级片| 这里只有精品视频在线| 亚洲一区二区三区高清不卡| 天堂在线观看一卡二卡三卡四卡| 亚洲欧美日韩综合| 日韩精品91亚洲二区在线观看| 亚亚洲欧洲精品| 国产999精品久久久| 日本一区二区在线不卡| 日本免费久久| 日韩三级电影网站| 欧美日韩在线三级| 色综合天天爱| 成人综合av| 欧美极品少妇与黑人| 中文字幕第80页| 久久av中文字幕| 99久久亚洲一区二区三区青草| 97在线视频免费观看完整版| 欧美精品欧美精品系列c| 欧美性高潮床叫视频| 国产调教一区二区三区| 人人澡人一摸人人添| 欧美久久精品一级黑人c片| 成人手机电影网| 午夜久久中文| 8x8x华人在线| 在线a欧美视频| 高清成人在线观看| 日韩国产网站| 日韩欧美不卡在线| 日韩视频―中文字幕| 成人小视频在线观看| 亚洲日本在线观看视频| 亚洲熟妇无码一区二区三区| 久久天天躁狠狠躁夜夜躁2014 | 中文字幕亚洲影视| 在线观看国产视频一二三| 欧美一级淫片播放口| 亚洲精品videosex极品| 精品久久中文| 日本韩国精品一区二区| 含羞草久久爱69一区| 欧美一区二区三区在线| 美日韩一区二区三区| 成人软件在线观看| 日本a级片免费观看| 91精品国产高清久久久久久91| 日本一区二区视频在线| 久久av免费| 亚洲天堂二区| 久久草.com| 亚洲国产精品推荐| 高清shemale亚洲人妖| 人人精品久久| 三上悠亚在线一区二区| 国产精品亚发布| 欧美日韩亚洲丝袜制服| 久久精品国产久精国产爱| 成人免费一区| 精品美女调教视频| 精品国产乱码久久久久久丨区2区 精品国产乱码久久久久久蜜柚 | 99精品偷自拍| 窝窝社区一区二区| 都市激情在线视频| 欧美日韩一区二区三区在线视频| 亚洲精品久久久一区二区三区| 粉嫩aⅴ一区二区三区四区五区| 粉嫩av国产一区二区三区| 国模大尺度私拍在线视频| 激情一区二区三区| 在线视频免费一区二区| 午夜在线电影亚洲一区| 老司机精品福利视频| 日韩影片中文字幕| 黄色三级在线观看| 欧美午夜精品理论片a级大开眼界| 色哟哟入口国产精品| 一区二区免费在线| 蜜桃av噜噜一区| 清纯唯美亚洲经典中文字幕| a视频在线观看免费| 91精品91久久久中77777老牛| 国产精品一区二区性色av | 国产在线麻豆精品观看| 另类视频一区二区三区| 一级视频在线免费观看| 亚洲欧美影院| 国产成人精品视频| 亚洲第一av在线| 亚洲图片欧美激情| 久久一本综合频道| 欧美有码在线| 国产盗摄在线视频网站| 婷婷福利视频导航| 久久国产精品视频在线观看| 不卡一卡2卡3卡4卡精品在| 超碰精品一区二区三区乱码| 欧美日韩国产bt|