区块链V1版本实现之四

部分程序代码(添加区块):

//添加区块
func (bc *BlockChain) AddBlock(data string) {

   //创建一个区块
   //bc.Block的最后一个区块的Hash值就是当前新区块的PrevBlockHash
   lastBlock := bc.Blocks[len(bc.Blocks) - 1]
   prevHash := lastBlock.Hash

   block := NewBlock(data, prevHash)

   //添加到bc.Block数组中
   bc.Blocks = append(bc.Blocks, block)


}


func main()  {
   fmt.Printf("HelloWorld!!!\n")

   ////区块实例化
   //block := NewBlock(genesisInfo,[]byte{0x0000000000000000})
   bc := NewBlockChain()
   bc.AddBlock("哈哈哈哈哈")

   for i, block := range bc.Blocks{
      //区块打印
      fmt.Printf("++++++++++++++ %d ++++++++++++++++\n",i)
      fmt.Printf("PrevBlockHash : %x\n", block.PrevBlockHash)
      fmt.Printf("Hash : %x\n", block.Hash)
      fmt.Printf("Data : %s\n", block.Data)
   }
}

输出效果:

 

posted @ 2020-11-21 21:39  北漂的尘埃  阅读(84)  评论(0编辑  收藏  举报