Advertisement

简易区块链开发V3(Golang)

阅读量:

简易区块链实现V3(golang)

前言

此版本在前一版V2的基础上,新增了本地存储功能以及命令行操作支持。相较于此前的两个版本,该版本的开发难度有所提升,主要应用了bolt模块与flag模块,因此需要查阅相关文档进行学习。然而整体实现思路并不复杂,所需完成的功能目标清晰且易于理解,与区块链技术本身关联性不大,重点在于对功能的进一步完善。

代码和分析

首先需要完成本地化存储的实现,这里采用的是go语言中独有的bolt数据库,这是一种轻量级的键值对存储系统。

为了实现本地化存储,必须对先前设计的blockchain进行调整,使其具备数据库存储的功能。在此过程中,需要重新定义BlockChain结构体。由于数据需要存储至数据库,因此结构体中应当包含一个数据库成员。我认为仅设置一个数据库成员即可满足需求,不过参考教程中的做法,在结构体中额外添加了最后一个区块的哈希值,这样的设计可能在后续操作中更为便捷。

复制代码
    type BlockChain struct {
    	Db *bolt.DB
    	//LastHash []byte
    }
    
    
      
      
      
      
    

此处所采用的本地语言中使用了bolt数据库,缺乏查阅资料的功能,仅能依赖文档进行操作

全部评论 (0)

还没有任何评论哟~