golang-区块链学习02工作量证明
前言 在前一篇“golang-区块链学习01”的基础上,增加我们区块链的工作量证明。 知识点 1、区块链ProofOfWork(工作量证明)概念,因为所有人都想生成区块来获取奖励,为了公平起见,我们规定要想成功生成一个区块必须完成指定难度的任务才行。也就是谁先完成指定难度的任务就将成功生成一个区块。先预留个彩蛋,结合实例的工作量证明将在文末总结。 golang实现简单的工作量证明 1、定义一个工作量难度。比如要求生产的区块的hash值前面五位必须为0。即hash类似:00000xxxxxxxxxxx的样式。 2、在Block的结构中增加一个Nonce变量,通过不断修改Nonce的值,不断计算整个区的hash值,直到满足上面的要求即可。 3、代码实例 创建一个proofofwork.go文件。...阅读全文