手把手教你搭建區塊鏈(中)

買賣虛擬貨幣

​“學習區塊鏈的最快方法就是自己親手搭建一個”

本文接上篇:手把手教你搭建區塊鏈(上)

”瞭解工作量證明“

工作量證明演算法(PoW)是在區塊鏈上建立或挖掘新區塊的方式。

PoW的目標是發現可以解決問題的數字。從計算機的角度來講,該數字必須既要很難找到又要易於驗證。這是工作量證明的核心思想。

我們將看一個非常簡單的示例來幫助您深入瞭解,某個整數x乘以另一個y的雜湊必須以0結尾的函式表達為:

hash(x * y)= ac23dc...0

對於這個示例,讓我們設x = 5,則程式碼如下:

對於這個示例,讓我們設x = 5,則程式碼如下:

from hashlib import sha256

x = 5

y = 0  # We don{x*y}The solution is y = {y} such that hash(pp

- p is the previous proof, and p{last_proof}{proof}-/mineGETll mine a new Block"

@app.route(, methods=[])

def new_transaction():

    return "We/chainGETchainlength__main__0.0.0.0s address",

 "amount": 5

}

由於我們已經有了用於將事務新增到塊中的類方法,因此其餘操作很容易。讓我們編寫新增交易的功能:

import hashlib

import json

from textwrap import dedent

from time import time

from uuid import uuid4

from flask import Flask, jsonify, request

...

@app.route(, methods=[])

def new_transaction():

    values = request.get_json()

    # Check that the required fields are in the POSTsenderrecipientamountMissing valuessenderrecipientamountmessageTransaction will be added to Block {index}/mineGETproofmessageindexindextransactionstransactionsproofproofprevious_hashprevious_hash'],

    }

    return jsonify(response), 200

請注意,已開採區塊的接收者是我們節點的地址。 

而且,我們在這裡所做的大部分工作只是與Blockchain類上的方法進行互動。 

至此,我們已經可以開始與我們的區塊鏈進行互動了~如果您好奇共識演算法是如何實現的,且聽下回分解~

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;