“學習區塊鏈的最快方法就是自己親手搭建一個”
本文接上篇:手把手教你搭建區塊鏈(上)
”瞭解工作量證明“
工作量證明演算法(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類上的方法進行互動。
至此,我們已經可以開始與我們的區塊鏈進行互動了~如果您好奇共識演算法是如何實現的,且聽下回分解~