区块链V1版本实现之三

部分程序代码(区块链的定义及遍历打印):

 1 //创建区块链,使用Block数组模拟
 2 type BlockChain struct {
 3    Blocks []*Block
 4 }
 5 
 6 //实现创建区块链的方法
 7 func NewBlockChain() *BlockChain {
 8    //在创建的时候添加一个区块:创世块
 9    genesisBlock := NewBlock(genesisInfo, []byte{0x0000000000000000})
10 
11    bc := BlockChain{Blocks: []*Block{genesisBlock}}
12    return &bc
13 }
14 
15 
16 
17 func main()  {
18    fmt.Printf("HelloWorld!!!\n")
19 
20    ////区块实例化
21    //block := NewBlock(genesisInfo,[]byte{0x0000000000000000})
22    bc := NewBlockChain()
23 
24    for _, block := range bc.Blocks{
25       //区块打印
26       fmt.Printf("PrevBlockHash : %x\n", block.PrevBlockHash)
27       fmt.Printf("Hash : %x\n", block.Hash)
28       fmt.Printf("Data : %s\n", block.Data)
29    }
30 }

输出效果:

 

posted @ 2020-11-21 21:38  北漂的尘埃  阅读(148)  评论(0)    收藏  举报