亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁(yè) > 知識(shí)庫(kù) > 詳解python實(shí)現(xiàn)簡(jiǎn)單區(qū)塊鏈結(jié)構(gòu)

詳解python實(shí)現(xiàn)簡(jiǎn)單區(qū)塊鏈結(jié)構(gòu)

熱門標(biāo)簽:地圖標(biāo)注的意義點(diǎn) 上海機(jī)器人外呼系統(tǒng)哪家好 蓋州市地圖標(biāo)注 浙江電銷卡外呼系統(tǒng)好用嗎 地圖標(biāo)注微信發(fā)送位置不顯示 南京銷售外呼系統(tǒng)軟件 地圖制圖標(biāo)注位置改變是移位嗎 315電話機(jī)器人廣告 房產(chǎn)電銷外呼系統(tǒng)

區(qū)塊鏈

比特幣從誕生到現(xiàn)在已經(jīng)10年了,最近接觸到了區(qū)塊鏈相關(guān)的技術(shù),為了揭開其背后的神秘面紗,我就從頭開始構(gòu)建一個(gè)簡(jiǎn)單的區(qū)塊鏈。

從技術(shù)上來看:區(qū)塊是一種記錄交易的數(shù)據(jù)結(jié)構(gòu),反映了一筆交易的資金流向。系統(tǒng)中已經(jīng)達(dá)成的交易的區(qū)塊連接在一起形成了一條主鏈,所有參與計(jì)算的節(jié)點(diǎn)都記錄了主鏈或主鏈的一部分。

一、比特幣內(nèi)部結(jié)構(gòu)

比特幣內(nèi)部結(jié)構(gòu)有四部分:

  1. previous hash: 上一個(gè)區(qū)塊的hash
  2. data:交易數(shù)據(jù)
  3. time stamp:區(qū)塊生成的時(shí)間戳
  4. nonce:挖礦計(jì)算次數(shù)

二、實(shí)現(xiàn)的比特幣結(jié)構(gòu)

  1. index :當(dāng)前區(qū)塊索引
  2. timestamp :該區(qū)塊創(chuàng)建時(shí)的時(shí)間戳
  3. data :交易信息
  4. previous hash: 前一個(gè)區(qū)塊的hash
  5. hash: 當(dāng)前區(qū)塊的hash
  6. nonce : 挖礦計(jì)算次數(shù)

注意:當(dāng)前實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的區(qū)塊鏈結(jié)構(gòu),并不完整。

三、代碼實(shí)現(xiàn)

1.定義區(qū)塊的結(jié)構(gòu)

代碼如下:

"""
區(qū)塊設(shè)計(jì)
"""
import time
import hashlib

class Block:
    # 初始化一個(gè)區(qū)塊
    def __init__(self,previous_hash,data):
        self.index = 0
        self.nonce = ''
        self.previous_hash = previous_hash
        self.time_stamp = time.time()
        self.data = data
        self.hash = self.get_hash()
    # 獲取區(qū)塊的hash
    def get_hash(self):
        msg = hashlib.sha256()
        msg.update(str(self.previous_hash).encode('utf-8'))
        msg.update(str(self.data).encode('utf-8'))
        msg.update(str(self.time_stamp).encode('utf-8'))
        msg.update(str(self.index).encode('utf-8'))
        return msg.hexdigest()
    # 修改區(qū)塊的hash值
    def set_hash(self,hash):
        self.hash = hash

2.創(chuàng)世區(qū)塊構(gòu)造

創(chuàng)世區(qū)塊:沒有前一個(gè)區(qū)塊,這里的previous_hashdata是自己寫死的。

# 生成創(chuàng)世區(qū)塊,這是第一個(gè)區(qū)塊,沒有前一個(gè)區(qū)塊
def creat_genesis_block():
    block = Block(previous_hash= '0000',data='Genesis block')
    nonce,digest = mime(block=block)
    block.nonce = nonce
    block.set_hash(digest)
    return block

這里的mime()函數(shù)是后面的挖礦函數(shù).

3.挖礦函數(shù)定義

代碼如下:

def mime(block):
    """
    挖礦函數(shù)——更新區(qū)塊結(jié)構(gòu),加入nonce值
        block:挖礦區(qū)塊
    """
    i = 0
    prefix = '0000'
    while True:
        nonce = str(i)
        msg = hashlib.sha256()
        msg.update(str(block.previous_hash).encode('utf-8'))
        msg.update(str(block.data).encode('utf-8'))
        msg.update(str(block.time_stamp).encode('utf-8'))
        msg.update(str(block.index).encode('utf-8'))
        msg.update(nonce.encode('utf-8'))
        digest = msg.hexdigest()
        if digest.startswith(prefix):
            return nonce,digest
        i+=1

4.定義區(qū)塊鏈結(jié)構(gòu)

代碼如下:

"""
區(qū)塊鏈設(shè)計(jì)
"""
from Block import *
# 區(qū)塊鏈
class BlockChain:
    def __init__(self):
        self.blocks = [creat_genesis_block()]
    # 添加區(qū)塊到區(qū)塊鏈上
    def add_block(self,data):
        pre_block = self.blocks[len(self.blocks)-1]
        new_block = Block(pre_block.hash,data)
        new_block.index = len(self.blocks)
        nonce,digest = mime(block=new_block)
        new_block.nonce = nonce
        new_block.set_hash(digest)
        self.blocks.append(new_block)
        return new_block

在添加新區(qū)塊到區(qū)塊鏈時(shí),先挖礦在將新區(qū)塊加入?yún)^(qū)塊鏈。

四、代碼運(yùn)行

測(cè)試代碼:

from BlockChain import *
# 創(chuàng)建一個(gè)區(qū)塊鏈
bc = BlockChain()
# 添加區(qū)塊
bc.add_block(data='second block')
bc.add_block(data='third block')
bc.add_block(data='fourth block')
for bl in bc.blocks:
    print("Index:{}".format(bl.index))
    print("Nonce:{}".format(bl.nonce))
    print("Hash:{}".format(bl.hash))
    print("Pre_Hash:{}".format(bl.previous_hash))
    print("Time:{}".format(bl.time_stamp))
    print("Data:{}".format(bl.data))
    print('\n')

運(yùn)行結(jié)果:

這里添加了4個(gè)區(qū)塊(包括創(chuàng)世區(qū)塊),處了創(chuàng)世區(qū)塊,每個(gè)區(qū)塊的pre_hash都與前一個(gè)區(qū)塊的hash值相等,這代表區(qū)塊沒有被篡改,數(shù)據(jù)有效。

到此這篇關(guān)于python實(shí)現(xiàn)簡(jiǎn)單區(qū)塊鏈結(jié)構(gòu)的文章就介紹到這了,更多相關(guān)python區(qū)塊鏈結(jié)構(gòu)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • python區(qū)塊及區(qū)塊鏈的開發(fā)詳解
  • python簡(jiǎn)單區(qū)塊鏈模擬詳解
  • Python實(shí)現(xiàn)基于POS算法的區(qū)塊鏈
  • Python實(shí)現(xiàn)類似比特幣的加密貨幣區(qū)塊鏈的創(chuàng)建與交易實(shí)例
  • 使用Python從零開始擼一個(gè)區(qū)塊鏈
  • Python從零開始創(chuàng)建區(qū)塊鏈
  • 用不到50行的Python代碼構(gòu)建最小的區(qū)塊鏈
  • Python學(xué)習(xí)入門之區(qū)塊鏈詳解
  • 如何用用Python制作NFT區(qū)塊鏈作品

標(biāo)簽:克拉瑪依 金華 臨汾 貴州 陽泉 雙鴨山 赤峰 日照

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解python實(shí)現(xiàn)簡(jiǎn)單區(qū)塊鏈結(jié)構(gòu)》,本文關(guān)鍵詞  詳解,python,實(shí)現(xiàn),簡(jiǎn)單,區(qū)塊,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《詳解python實(shí)現(xiàn)簡(jiǎn)單區(qū)塊鏈結(jié)構(gòu)》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于詳解python實(shí)現(xiàn)簡(jiǎn)單區(qū)塊鏈結(jié)構(gòu)的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    九九免费精品视频| 日本特黄一级| 国产a毛片| 欧美a级片免费看| 精品国产一区二区三区精东影业| 日韩专区亚洲综合久久| 香蕉视频亚洲一级| 国产成人精品综合久久久| 久久精品大片| 欧美日本二区| 美女免费精品高清毛片在线视| 日韩一级黄色大片| 香蕉视频久久| 日韩中文字幕一区二区不卡| 国产一区二区精品久久91| 美女免费精品高清毛片在线视| 91麻豆精品国产片在线观看| 日本伦理网站| 日韩在线观看网站| 国产不卡精品一区二区三区| 久久精品免视看国产成人2021| 精品视频免费在线| 一 级 黄 中国色 片| 免费毛片基地| 精品在线观看国产| 国产成人女人在线视频观看| 国产网站在线| 国产综合91天堂亚洲国产| 91麻豆精品国产自产在线观看一区| 国产网站免费观看| 国产一区二区高清视频| 久久国产精品自线拍免费| 高清一级片| 一本高清在线| 国产a毛片| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产伦精品一区二区三区在线观看 | 欧美一级视频高清片| 国产原创视频在线| 亚洲精品影院一区二区| 日本特黄特黄aaaaa大片| 欧美日本国产| 香蕉视频亚洲一级| 欧美另类videosbestsex高清| 青青青草影院| 国产不卡福利| 四虎影视久久久| 欧美a级大片| 午夜激情视频在线播放| 亚洲女人国产香蕉久久精品| 久久99中文字幕久久| 国产一级强片在线观看| 国产一区二区福利久久| 欧美激情一区二区三区视频高清 | 午夜在线亚洲男人午在线| 香蕉视频久久| 成人影院一区二区三区| 亚飞与亚基在线观看| 精品国产一区二区三区久久久蜜臀 | 国产不卡在线观看视频| 免费毛片基地| 精品视频在线看| 国产亚洲免费观看| 欧美激情一区二区三区视频 | 国产不卡福利| 久草免费在线色站| 久久精品成人一区二区三区| 欧美a级片视频| 成人免费观看网欧美片| 久久精品免视看国产明星| 国产福利免费观看| 精品国产一区二区三区久久久蜜臀 | 亚洲www美色| 天天色色网| 亚洲第一视频在线播放| 一级片片| 亚洲第一页乱| 久久国产一区二区| 欧美a级片视频| 欧美一级视频免费| 国产网站在线| 国产一区二区高清视频| 亚欧视频在线| 国产91丝袜高跟系列| 黄视频网站免费观看| 国产视频在线免费观看| 国产麻豆精品免费视频| 午夜在线观看视频免费 成人| 国产成人精品综合在线| 国产一区二区精品久久91| 欧美a免费| 国产伦精品一区二区三区在线观看 | 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 日韩av成人| 欧美激情一区二区三区视频| 久久精品人人做人人爽97| 欧美一区二区三区性| 色综合久久天天综线观看| 精品视频在线观看免费| 日韩一级黄色片| 香蕉视频一级| 天天做人人爱夜夜爽2020| 国产一级生活片| 青草国产在线观看| 国产一区二区高清视频| 可以免费看毛片的网站| 99色播| 99久久网站| 免费毛片基地| 国产麻豆精品视频| 九九精品久久久久久久久| 欧美日本免费| 久久国产影视免费精品| 999精品在线| 一级女人毛片人一女人| 欧美大片a一级毛片视频| 九九九国产| 香蕉视频久久| 日韩av成人| 欧美激情一区二区三区视频| 国产一区二区精品尤物| 国产不卡在线看| 亚欧乱色一区二区三区| 欧美日本国产| 麻豆午夜视频| 精品久久久久久影院免费| 国产麻豆精品免费密入口| 美女免费精品视频在线观看| 黄视频网站免费看| 国产成人精品综合久久久| 欧美大片一区| 国产一区二区精品尤物| 国产91精品系列在线观看| 精品久久久久久中文字幕2017| 九九九网站| 99色播| 亚洲 国产精品 日韩| 日本免费乱理伦片在线观看2018| 97视频免费在线观看| 四虎久久精品国产| 精品国产亚洲一区二区三区| 亚洲第一页乱| 精品国产一区二区三区国产馆| 欧美α片无限看在线观看免费| 国产一区二区精品在线观看| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 欧美国产日韩久久久| 久草免费资源| 久久国产精品自线拍免费| 一级毛片视频播放| 日本在线www| 亚洲精品中文一区不卡| 你懂的国产精品| 香蕉视频亚洲一级| 亚洲第一色在线| 九九久久99| 精品在线免费播放| 亚飞与亚基在线观看| 成人a级高清视频在线观看| 国产成人精品影视| 精品视频在线观看视频免费视频| a级精品九九九大片免费看| 亚洲女初尝黑人巨高清在线观看| 精品国产一级毛片| 日本免费乱理伦片在线观看2018| 日韩av片免费播放| 你懂的日韩| 天天做日日爱| 精品久久久久久中文字幕一区| 日韩在线观看网站| 成人免费观看男女羞羞视频| 久久国产一区二区| 久久国产影院| 国产成人精品综合久久久| 九九干| 久久精品大片| 91麻豆精品国产自产在线| 毛片高清| 日韩一级黄色大片| 日韩av成人| 99久久精品国产高清一区二区| 中文字幕一区二区三区 精品| 久草免费在线色站| 麻豆系列 在线视频| 韩国三级香港三级日本三级| 午夜在线亚洲| 久久国产精品永久免费网站| 成人免费高清视频| 免费一级片在线观看| 99热视热频这里只有精品| 日韩专区一区| 精品视频在线看 | 国产一区精品| 日日夜夜婷婷| 精品国产亚洲人成在线| 国产一区二区福利久久| 天堂网中文在线| 青草国产在线观看| 亚洲第一页乱| 日韩中文字幕在线观看视频|