区块链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) } }
输出效果: