前言在上一章中我们了解了区块是什么以及区块与区块链之间的关系。在这一章中我们将此项目重构,并拓宽区块的头部信息,并讲解区块如何通过共识机制合法的被添加进区块链中。项目重构在上一章中,我们所有的代码都写在了main.go中,这显然不利于我们继续构建项目。我们希望main.go只用于最后启动我们的区块链系统,为此我们需要将设计的区块与区块链移植其它文件夹中。重构部分就不做过多讲解了。在这里插入图片描述我们把之前的int64转byte函数放到utils里package utils import ( "encoding/binary" ) func Int64ToByte(num int64) []byte { var buf = make([]byte, 8) binary.BigEndian.PutUint64(buf, uint64(num)) return buf } constcoe里面先存上难度系数,这个后面会详细说package constcoe const ( Difficulty = 12 ) block.go和blockchain.go把之前写的结构体和函数放入//b...