摘要: 部分代码(proofofwork.go文件中使用Bits推导难度值): 1 const Bits = 20 2 3 func NewProofOfWork(block *Block) *ProofOfWork { 4 pow := ProofOfWork{ 5 block: block, 6 } 7 阅读全文
posted @ 2020-12-02 22:38 北漂的尘埃 阅读(89) 评论(0) 推荐(0) 编辑
摘要: 部分代码(proofofwork.go文件中IsValid函数实现): 1 func (pow *ProofOfWork) IsValid() bool { 2 //在校验的时候,block的数据是完整的,我们要做的是校验一下,Hash,block数据,和Nonce是否满足难度值要求 3 4 //获 阅读全文
posted @ 2020-12-02 22:32 北漂的尘埃 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 部分代码(proofofwork.go文件中Run函数实现): 1 //这是pow的运算函数,为了获取挖矿的随机数,同时返回区块的哈希值 2 func (pow *ProofOfWork) Run() ([]byte, uint64) { 3 //1. 获取block数据 4 //2. 拼接nonc 阅读全文
posted @ 2020-12-02 22:31 北漂的尘埃 阅读(127) 评论(0) 推荐(0) 编辑
摘要: V1版本问题: 随机数的难度值是随便写的 区块的哈希值是无规则的 V2版本思路: 1.POW(工作量证明) A. block B. 目标值 2.创建POW的函数 NewProofOfWork(参数) 3.不断计算hash的函数 Run() 4.一个校验函数 IsValid() 部分代码(proofo 阅读全文
posted @ 2020-12-02 22:26 北漂的尘埃 阅读(94) 评论(0) 推荐(0) 编辑