本文主要是介绍共识算法3:基于http访问的PoW实现,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
package main
import (
“sync”
“time”
“strings”
“strconv”
“crypto/sha256”
“encoding/hex”
“fmt”
“net/http”
“github.com/gorilla/mux”
“encoding/json”
“io”
“github.com/davecgh/go-spew/spew”
“os”
“log”
“github.com/joho/godotenv”
)
//设置难度系数,前导0为4个
const difficulty = 4
//定义区块
type Block struct {
//区块高度
Index int
//时间戳
Timestamp string
//暂时理解为保存数据的
//交易信息
BMP int
//当前区块的哈希
HashCode string
//上一个区块的哈希
PreHash string
//控制哈希值有几个前导0
Diff int
//随机值
Nonce int
}
//这里通过数组,维护区块链
var Blockchain []Block
//Message为通过POST实现数据求发送的数据类型
type Message struct {
BPM int
}
//控制线程异步访问
//定义互斥锁
var mutex = &sync.Mutex{}
//生成区块
func generateBlock(oldBlock Block, BMP int) Block {
这篇关于共识算法3:基于http访问的PoW实现的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!