1. 区块链的遍历
1.1 创建区块链迭代器类型
区块链迭代器struct包含了当前区块的hash,数据库对象。
// 定义迭代器类型
type BlockchainIterator struct {currentHash       []byte    // 当前区块的hashdb              *bolt.DB   // 区块链数据库地址
}1.2 为迭代器添加Next()方法
func (i *BlockchainIterator) Next() *Block
// 获取下一个区块的方法:没有给出终止条件,当遍历至创世区块后,currentHash = []byte 空切片
// 可以通过判断区块的长度来终止
//        if len(block.PrevBlockHash) ==0{
//       break
//    }
func (i *BlockchainIterator) Next() *Block{var block *Block// 根据currenHash获取迭代器当前指向