婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 使用go實現(xiàn)簡易比特幣區(qū)塊鏈公鏈功能

使用go實現(xiàn)簡易比特幣區(qū)塊鏈公鏈功能

熱門標簽:重慶慶云企業(yè)400電話到哪申請 寧波語音外呼系統(tǒng)公司 鄭州智能語音電銷機器人價格 地圖標注免費定制店 仙桃400電話辦理 宿遷便宜外呼系統(tǒng)代理商 湛江crm外呼系統(tǒng)排名 上海極信防封電銷卡價格 不封卡外呼系統(tǒng)

使用go語言實現(xiàn)具備以下功能的簡易區(qū)塊鏈

  • 區(qū)塊與區(qū)塊鏈
  • 共識機制
  • 數(shù)據(jù)庫
  • Cli命令行操作
  • 交易管理
  • 密碼學
  • 數(shù)字簽名
  • 交易緩存池
  • P2P網絡管理

由于平時還要進行論文工作,項目不定時更新

2021.1.1實現(xiàn)了區(qū)塊結構、區(qū)塊鏈結構、工作量證明pow,剩下部分陸續(xù)更新

1.實現(xiàn)區(qū)塊結構

package BLC

import (
	"bytes"
	"crypto/sha256"
	"time"
)

//實現(xiàn)一個最基本的區(qū)塊結構
type Block struct {
	TimeStamp int64 //時間戳,區(qū)塊產生的時間
	Heigth int64//區(qū)塊高度(索引、號碼)代表當前區(qū)塊的高度
	PreBlockHash []byte//前一個區(qū)塊(父區(qū)塊)的哈希
	Hash []byte//當前區(qū)塊的哈希
	Data []byte//交易數(shù)據(jù)
}
//創(chuàng)建一個新的區(qū)塊
func NewBlock(height int64,preBlockHash []byte,Data []byte) *Block {
	var block Block
	block=Block{Heigth: height,PreBlockHash: preBlockHash,Data: Data,TimeStamp: time.Now().Unix()}
	block.SetHash()
	return block
}
//計算區(qū)塊哈希
func (b *Block)SetHash() { 
	//int64轉換成字節(jié)數(shù)組
	//高度轉換
	heightBytes:=IntToHex(b.Heigth)
	//時間轉換
	timeStampBytes:=IntToHex(b.TimeStamp)
//拼接所有屬性進行hash
	blockBytes:=bytes.Join([][]byte{heightBytes,timeStampBytes,b.PreBlockHash,b.Data},[]byte{})
	hash:=sha256.Sum256(blockBytes)
	b.Hash=hash[:]
}

2.實現(xiàn)區(qū)塊鏈結構

package BLC

type BlockChain struct {
	Blocks []*Block //存儲有序的區(qū)塊
}
//初始化區(qū)塊鏈
func CreateBlockChainWithGenesisBlock() *BlockChain {
	//添加創(chuàng)世區(qū)塊
	genesisBlock:=CreateGenesisBlock("the init of blockchain")

	return BlockChain{[]*Block{genesisBlock}}
}
//添加新的區(qū)塊到區(qū)塊鏈中
func (bc *BlockChain)AddBlock(height int64,data []byte,prevBlockHash []byte){
	newBlock := NewBlock(height,prevBlockHash,data)
	bc.Blocks=append(bc.Blocks,newBlock)
}

3.實現(xiàn)工作量證明

package BLC

import (
	"bytes"
	"crypto/sha256"
	"fmt"
	"math/big"
)

//目標難度值,生成的hash前 targetBit 位為0才滿足條件
const targetBit =16
//工作量證明
type ProofOfWork struct {
	Block *Block //對指定的區(qū)塊進行驗證
	target *big.Int //大數(shù)據(jù)存儲
}
//創(chuàng)建新的pow對象
func NewProofOfWork(block *Block) *ProofOfWork {
	target:=big.NewInt(1)
	target=target.Lsh(target,256-targetBit)
	return ProofOfWork{block,target}
}
//開始工作量證明
func (proofOfWork *ProofOfWork)Run() ([]byte,int64) {
	//數(shù)據(jù)拼接
	var nonce=0 //碰撞次數(shù)
	var hash [32]byte //生成的hash
	var hashInt big.Int //存儲轉換后的hash
	for {
		dataBytes:=proofOfWork.prepareData(nonce)
		hash=sha256.Sum256(dataBytes)
		hashInt.SetBytes(hash[:])
		fmt.Printf("hash:\r%x",hash)
		//難度比較
		if proofOfWork.target.Cmp(hashInt)==1{
			break
		}
		nonce++
	}
	fmt.Printf("碰撞次數(shù):%d\n",nonce)
	return hash[:],int64(nonce)
}
//準備數(shù)據(jù),將區(qū)塊屬性拼接起來,返回字節(jié)數(shù)組
func (pow *ProofOfWork)prepareData(nonce int) []byte {
	data:=bytes.Join([][]byte{
		pow.Block.PreBlockHash,
		pow.Block.Data,
		IntToHex(pow.Block.TimeStamp),
		IntToHex(pow.Block.Heigth),
		IntToHex(int64(nonce)),
		IntToHex(targetBit),
	},[]byte{})
	return data
}

4.當前運行結果

到此這篇關于使用go實現(xiàn)簡易比特幣區(qū)塊鏈公鏈功能的文章就介紹到這了,更多相關go實現(xiàn)比特幣區(qū)塊鏈公鏈內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • go語言實現(xiàn)簡易比特幣系統(tǒng)錢包的原理解析
  • Go語言實現(xiàn)IP段范圍校驗示例
  • Django之form組件自動校驗數(shù)據(jù)實現(xiàn)
  • golang之數(shù)據(jù)校驗的實現(xiàn)代碼示例
  • Django框架登錄加上驗證碼校驗實現(xiàn)驗證功能示例
  • go語言實現(xiàn)簡易比特幣系統(tǒng)之交易簽名及校驗功能

標簽:物業(yè)服務 儋州 海南 遼寧 西雙版納 電子產品 青海 安康

巨人網絡通訊聲明:本文標題《使用go實現(xiàn)簡易比特幣區(qū)塊鏈公鏈功能》,本文關鍵詞  使用,實現(xiàn),簡易,比特,幣,;如發(fā)現(xiàn)本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統(tǒng)采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《使用go實現(xiàn)簡易比特幣區(qū)塊鏈公鏈功能》相關的同類信息!
  • 本頁收集關于使用go實現(xiàn)簡易比特幣區(qū)塊鏈公鏈功能的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩西西人体444www| 亚洲天天做日日做天天谢日日欢| 亚洲国产精品成人久久综合一区| 激情都市一区二区| 国产欧美精品国产国产专区| 欧美一区二区三区视频在线 | 久久精品一区二区三区四区| 欧美日韩国产欧美日美国产精品| 精品影视av免费| 欧美丰满高潮xxxx喷水动漫| 国产ts人妖一区二区| 亚洲成人动漫av| 亚洲电影在线播放| 国产香蕉久久精品综合网| 欧美成人官网二区| 欧美性受xxxx黑人xyx性爽| 精品在线一区二区| 国内精品免费**视频| 亚洲一区二区三区不卡国产欧美| 亚洲欧美韩国综合色| 久久久久免费观看| 91精品欧美综合在线观看最新| 欧美色综合久久| 国产福利电影一区二区三区| 激情综合网最新| 亚洲高清免费视频| 国产精品乱人伦中文| 亚洲国产精品成人综合| 欧美成人性战久久| 国产成人亚洲精品狼色在线| 丁香激情综合五月| 国内成+人亚洲+欧美+综合在线| 视频精品一区二区| 一区二区国产视频| 亚洲国产经典视频| 中文字幕成人网| 久久精品夜色噜噜亚洲aⅴ| 日韩视频在线你懂得| 欧美精品一区二区三区四区| 日韩一区二区三区精品视频| 欧美成va人片在线观看| 91精品麻豆日日躁夜夜躁| 成人激情图片网| 色呦呦网站一区| 91免费看片在线观看| 色婷婷综合久久久久中文一区二区| 成人sese在线| av一区二区不卡| 91麻豆精品91久久久久同性| 欧美日韩国产中文| 久久久久国产精品麻豆ai换脸| 久久免费偷拍视频| 国产欧美精品一区| 亚洲黄色录像片| 国产精品污www在线观看| 亚洲图片自拍偷拍| 亚洲线精品一区二区三区| 久久精品国产精品亚洲综合| 欧美aaaaaa午夜精品| 99久久婷婷国产综合精品电影| 91蜜桃在线观看| 国产一区二区调教| 欧美午夜精品理论片a级按摩| 欧美三级电影精品| 中文字幕日韩av资源站| 亚洲情趣在线观看| 国产成人自拍高清视频在线免费播放| 在线亚洲人成电影网站色www| 色婷婷综合久久| 欧美一区二区视频网站| 久久久精品欧美丰满| 亚洲欧美日韩在线| 亚洲欧美一区二区三区久本道91| 亚洲午夜私人影院| 亚洲午夜激情网页| 麻豆一区二区三| 粉嫩av一区二区三区粉嫩| 日韩视频一区在线观看| 国产人妖乱国产精品人妖| 精品亚洲免费视频| 91亚洲精品久久久蜜桃网站 | 久久久精品国产免费观看同学| 亚洲精品视频在线| 麻豆精品在线观看| 欧美日本一道本在线视频| 久久日韩粉嫩一区二区三区 | 欧美群妇大交群的观看方式| 久久女同性恋中文字幕| 美腿丝袜亚洲综合| 99热99精品| 国产精品久久三| 久色婷婷小香蕉久久| 91精品婷婷国产综合久久竹菊| 亚洲欧洲美洲综合色网| 色婷婷久久综合| 国产亚洲一区二区三区在线观看| 亚洲动漫第一页| 不卡在线视频中文字幕| 欧美一区二区三区在线| 日韩中文字幕不卡| 色婷婷精品久久二区二区蜜臀av| 一区二区三区在线看| 国内久久精品视频| 国产欧美精品一区| 精品亚洲欧美一区| 欧美视频一区二| 亚洲精品一二三区| 国产一区美女在线| 中文子幕无线码一区tr| 麻豆精品一区二区三区| 久久人人爽人人爽| 久久爱www久久做| 国产亚洲污的网站| 国产一区二区看久久| 中文字幕精品一区| 国产69精品久久久久777| 日韩亚洲欧美一区二区三区| 精品综合免费视频观看| 欧美一区二区三区免费在线看| 极品美女销魂一区二区三区| 欧美一区二区三区在线观看| 国产精品白丝jk黑袜喷水| 精品国产乱码久久久久久久久| 国产一区二区福利视频| 久久久精品一品道一区| 日韩国产精品久久久久久亚洲| 欧美精品一区二区高清在线观看| 蜜桃av一区二区在线观看| 国产人成亚洲第一网站在线播放| 国产精品中文字幕欧美| 亚洲视频香蕉人妖| eeuss鲁片一区二区三区| 一区二区三区四区乱视频| 欧美日韩视频在线观看一区二区三区 | 国产老肥熟一区二区三区| 国产精品国产三级国产普通话99| 成人性色生活片免费看爆迷你毛片| 午夜日韩在线电影| 91精品国产福利在线观看| 国产mv日韩mv欧美| 亚洲色图20p| 欧美日韩激情一区| 日韩电影在线观看电影| 精品美女在线观看| 色视频一区二区| 美女视频一区二区| 日韩免费视频一区二区| 色欧美88888久久久久久影院| 伊人色综合久久天天人手人婷| 欧美精彩视频一区二区三区| 91丨porny丨户外露出| 国产制服丝袜一区| 中文字幕日韩欧美一区二区三区| 日韩欧美三级在线| 9久草视频在线视频精品| 久久国内精品自在自线400部| 国产精品美女久久久久久| 国产999精品久久久久久绿帽| 伦理电影国产精品| 日本一区二区三区四区| 精品国产三级电影在线观看| 97se亚洲国产综合自在线 | 丁香一区二区三区| 亚洲特级片在线| 69堂成人精品免费视频| 丁香五精品蜜臀久久久久99网站| 国产在线不卡一卡二卡三卡四卡| 亚洲乱码国产乱码精品精可以看| 国产精品久久看| 精品福利一区二区三区免费视频| 日韩一区二区免费高清| 91猫先生在线| 色婷婷香蕉在线一区二区| 韩国女主播一区| 久久精品国产第一区二区三区| 亚洲丝袜美腿综合| 亚洲精品成人少妇| 中文av一区二区| 久久久久9999亚洲精品| 欧美精品一卡二卡| 欧美一级片在线看| 欧美午夜精品理论片a级按摩| 欧美久久一区二区| 日本二三区不卡| 欧美日韩久久不卡| 色综合久久中文字幕综合网| 91在线国产福利| 成人免费电影视频| 色哟哟精品一区| 不卡的av在线播放| 91片黄在线观看| 成人高清视频在线观看| 91搞黄在线观看| 91在线视频在线| 丁香六月综合激情| bt欧美亚洲午夜电影天堂| 欧美片在线播放| 久久夜色精品国产噜噜av| 精品三级av在线| 亚洲日本成人在线观看|