go語言寫的案例
1.計算雜湊,建立 區塊
鏈式資料package core
import (
"crypto/sha256"
"encoding/hex"
"time"
)type block struct
// 計算雜湊
func calculatehash(b block) string
// 生成新區塊
func generatenewblock(preblock block, data string) block
// 新區塊的index = 父區塊的index+1
newblock.index = preblock.index + 1
// 雜湊值 = 父區塊的雜湊值
newblock.prebolckhash = preblock.hash
// 新區塊的時間戳,==當前時間
newblock.timestmp = time.now().unix()
newblock.data = data
// 新區塊的雜湊 是計算得來的
newblock.hash = calculatehash(newblock)
return newblock
}// 生成創始區塊
func generategenesisblock() block
preblock.index = -1
preblock.timestmp = time.now().unix()
preblock.hash = calculatehash(preblock)
preblock.data = "genesis block(創始區塊)"
generatenewblock(preblock, "genesis block")
return preblock
}
啟動類package core
import (
"fmt"
"log"
)type blockchain struct
func newblockchain() *blockchain
blockchain.apendblock(&genesisblock)
return &blockchain
}func (bc *blockchain) senddata(data string)
func (bc *blockchain) apendblock(newblock *block)
if isvalid(*newblock, *bc.blocks[len(bc.blocks)-1]) else
}func (bc *blockchain) print()
}func isvalid(newblock block, oldblock block) bool
if newblock.prebolckhash != oldblock.hash
if calculatehash(newblock) != newblock.hash
return true
}
package main
import "./core"
func main()
三 《區塊鏈 安全技術指南》雜記
一 應用與智慧型合約層的安全控制 1 web與移動客戶端應用安全 2 智慧型合約的安全 1 智慧型合約簡介 2 znhy安全編碼的最佳實踐 3 znhy的幾個安全漏洞 3 znhy中的身份管理和控制 二 激勵層的安全機制 1 激勵的產生和分析 1 激勵機制的價值 2 激勵層安全分析 通證激勵模式的安...
區塊鏈系列1 區塊鏈科普
區塊鏈本質上是乙個賬本,當乙個商品 乙個行為 乙個交易開始的時候,可以產生乙個區塊,它的整個流動的生命週期被詳細的記錄下來,形成乙個鏈。這個賬本會存在網際網路上,理論上無法被任何人拿走 篡改或者銷毀。優點 1.分布式,去中心化 拿位元幣來講,去中心化的好處就是不需要有乙個類似銀行的機構來為雙方交易提...
區塊鏈 (1)區塊鏈與智慧型社會
不是機械人,不是大資料,甚至不是人工智慧,而是區塊鏈將引發人類第四次工業革命,並重新定義網際網路甚至人類社會。唐 塔譜斯科特 全球著名的新經濟學家,商業策略大師,被稱為 數字經濟之父 我們要像九十年代重視網際網路一樣重視區塊鏈。摩根史坦利首席經濟學家 區塊鏈究竟是乙個什麼樣的技術呢?為何收到這麼多行...