區塊鏈學習(三)區塊鏈例項

2021-09-20 21:13:35 字數 1692 閱讀 2018

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)區塊鏈與智慧型社會

不是機械人,不是大資料,甚至不是人工智慧,而是區塊鏈將引發人類第四次工業革命,並重新定義網際網路甚至人類社會。唐 塔譜斯科特 全球著名的新經濟學家,商業策略大師,被稱為 數字經濟之父 我們要像九十年代重視網際網路一樣重視區塊鏈。摩根史坦利首席經濟學家 區塊鏈究竟是乙個什麼樣的技術呢?為何收到這麼多行...