區塊鏈(blockchain)是位元幣等流行的加密貨幣背後的技術。區塊鏈的主要概念是去中心化,提供分布式賬本。本文會為你展示如何在 ios/macos 中使用 swift 語言建立最基本的區塊鏈。
注意:本文不涉及節點(nodes/peers)、驗證和獎勵等。
實現區塊類,生成物件代表乙個區塊,建立如下:
//mark: 區塊
/// 簡單模擬區塊鏈,假設是單鏈的
class block
}init()
}
生成物件代表乙個區塊鏈,這個區塊鏈需要乙個區塊來初始化自己,這個區塊,成為創世塊. **如下:
//mark:- 區塊鏈,假設是單鏈的(實際區塊鏈要複雜的多)
class blockchain
/// 新增區塊
////// - parameter block: 區塊
func addblock(block:block) else
displayblock(block: block)
}func getpreviousblock() -> block
func displayblock(block:block)
//計算hash值
private func generatehash(block:block) ->string
return hash;
}}
generatehash函式負責生成唯一的雜湊值並賦值給區塊。但並不使用完全隨機的雜湊,而是需要以「00」開頭(模擬增加難度,實際區塊鏈,這個值可能一直不同的區塊計算,也是不一樣的)的特定雜湊。這個概念叫做「工作量證明系統」。在實際中工作量證明系統的解法會更複雜,解決的人也會獲得獎勵(可能是額外的位元幣,玩客幣等等,看具體交易平台)。
// mark: - string 類擴充套件
extension string
}
擴充套件
// mark: - date 時間
extension date
}
全部原始碼可以複製全部原始碼直接貼上到mac playground中,直接執行,或者建立command line tool 把**貼上到main.swift檔案裡面 區塊鏈的簡單實現
最近在學習區塊鏈的相關知識,在懂得原理後通過程式設計實現了乙個簡單的區塊鏈程式,希望對以後的學習有所增益,在這裡要感謝b站up主 是落拓呀 的對於區塊鏈的詳細講解,下面附上相關python import hashlib import json from typing import text 區塊 c...
簡單介紹區塊鏈的聯盟鏈
單群組fisco bcos聯盟鏈 聯盟鏈是區塊鏈裡面的一種,簡介 區塊鏈跟傳統的b s,c s,專案的架構來說不同,1 傳統專案中心化 你付錢 收款 通知店鋪發貨 你確認收貨 把錢打給給店鋪 區塊鏈去中心化 你付款 賣家收款後把東西給你 雙方對外宣稱交易完成 簡單來說就是不需要第三方介入,區塊鏈是全...
簡單區塊鏈系統實現之程式執行
簡單區塊鏈系統實現之原理講解 簡單區塊鏈系統實現之程式開發 完整專案位址 使用postman 傳送兩個post請求,為 請求引數名稱是node,給5000新增鄰居時node值為5001,給5001新增鄰居時node值為5000 正確新增後會返回如下訊息 正確後兩個終端返回的資訊應該一樣 length...