Fabric区块链Web操作查证系统设计与实现文献综述
前言
本次毕业设计课题旨在通过web应用系统对区块链系统的操作查证来说明区块链系统的工作原理和运行特点。区块链作为当前计算机科学与技术领域最热门的技术之一,了解区块链的工作原理和运行特点对于从事计算机领域工作的人来说尤为重要。区块链,一种去中心化的分布式集群,它涵盖了计算领域大量技术问题。例如,分布式数据存储、点对点传输、共识机制、加密算法等计算机技术。同时它也对金融领域产生了极大影响。本课题就包含了Fabric区块链集群的搭建,除此以外还包括了使用node.js和Express对web应用系统的搭建。因此所涉及的文献也是来源于这两部分:其一是Hyperledger Fabric这种通用型区块链平台搭建的相关说明以及原理介绍、搭建经验介绍;其二是node.js开发文档以及node.js相关的开发书籍以及部分Express框架使用的经验介绍。这些文献大多来源于指导老师的提供,少部分来源于CSDN博客以及开源中国论坛。
正文
文献大致分为两类,与web开发相关的涉及了以node.js介绍与开发环境部署、·JavaScript语法、NPM包管理器、node.js文件系统、node.js网络开发、node,js数据库开发、JQuery前端框架、Express框架介绍、node.js单元测试、node.js项目案例为主要文献书籍的由清华大学出版社于2019年4月出版的忽如寄、王金柱所著的《Node.js 10实战》【1】。该文献是本次课题web开发的核心资料,涵括了web开发前后端的所有知识。除了这本node.js开发书籍外,《Node.js v10.18.0文档》【2】也是node.js开发的重要文献,该文献中涵括了该版本下node.js的一切使用方法和功能组成,涵括了从断言测试一直到网络通信到工作线程等一系列功能并配有样例代码。除此以外《了不起的Node.js 将JavaScript进行到底》【3】也是一本重要的node.js学习书籍,该书由Node社区著名的Socket.IO作者GuillermoRauch,通过大量的实践案例撰写,并由 Node社区非常活跃的开发者——Goddy Zhao翻译而成。主要由对五大部分的介绍组成:Node核心设计理念、Node核心模块API、Web开发、数据库以及测试。从前到后、由表及里地对使用 Node进行Web开发的每一个环节都进行了深入的讲解,并且较大的特点就是通过大量的实际案例、代码展示来剖析技术点,讲解优秀实践。web开发还包括了相应的前端技术,而由Jon Duckett所著,刘涛、陈学敏所译的清华大学出版社出版的《HTMLamp;CSS设计与构建网站》【4】是网页开发的优秀书籍,以上材料配合《Standard ECMA-262》【5】、《ECMAScript 2019 Language Specification》【6】中关于ECMAScript的相关标准能很好地对web部分进行优秀开发。
而与Hyperledger Fabric区块链部分相关的文献则主要是以ACM Workshop on Blockchain(ACM区块链研讨会)的会员所著的两篇论文位区块链发展放向和相关基础,其一是《Towards Scalable and Private Industrial Blockchains[C]》译名《迈向可扩展的私有区块链[C]》【7】该文由NEC欧洲实验室德国的四位成员:Wenting Li、Sergey Fedorov、Alessandro Sforzin、Ghassan O. Karame共同完成。介绍了区块链的发展和背景,并阐述了他们的研究方法。在研究方法中,详细介绍了系统模型、星型链结构、区块链网络监管、跨链资产转移,并配上相关的算法伪代码进行详细解释。在该文中还与Hyperledger进行了相关问题的结合研究。并从实例化管理器、独立账本、资产转移、策略执行与Hyperledger Fabric的集成方面进行细致的介绍。其二是《Rethinking Permissioned Blockchains[C]》译名《重新考虑经许可的区块链》【8】也展示了作者Vukoli M对区块链的独到见解和深刻认识。从中我们可以看到区块链未来的发展趋势和行业前景。除相关论文外,关于HyperLedger Fabric的开发实战书籍也是重要的文献,由在阿里云从事后台服务与区块链应用及落地场景等方向的资深工程师杨毅编写的《HyperLedger Fabric 开发实战》【9】对与刚开始进行区块链开发且需要使用HyperLedger Fabric的新手程序员是一本很好的入门书籍。全书从分布式环境配置、Fabric区块链环境部署、End-2-End案例、单机部署多节点网络、Solo多机部署、Kafka集群部署、智能合约、CouchDB、Java-SDK客户端、项目演示等若干方面展开。其中的环境配置和单机部署多节点、智能合约是本次课程设计的重中之重。全书包含了大量的代码和计算机操作流程,是掌握区块链开发技术的比较重要的资料。除书籍外,有一篇博客文章也尤为不错,《Fabric初探及搭建Fabric第一个网络》【10】来自于https://learnblockchain.cn/2019/06/28/fabric-first-network/#more。是一篇关于超级账本基本信息介绍、Fabric框架结构介绍、Fabric搭建流程的文章。但是除了该书和该博客以外,由于本次采用了node.js进行web开发,所以Fabric与node.js的关联资料尤为重要。除《Hyperledger Fabric Client SDK for Node.js》【11】和《Hyperledger Fabric SDK for Node.js API doc》【12】开源社区和官方文档外,还包含了开源中国的相关博客和文章,其中《fabric node api 1.4简明教程》【13】来自于http://blog.hubwiz.com/2019/04/27/fabric-node-sdk-1.4-crash/。是一篇讲述如何快速上手Fabric Node SDK的文章,该文章从工作原理、身份标识、通道配置、链码状态查询、链码交易提醒等五个方面详细介绍了Fabric Node SDK的使用。由于项目的开发的操作系统是基于linux的Ubuntu,相关的linux系统指令和使用也是开发中重要的一环,《Linux命令速查手册 第二版》【14】由美国作者斯科特·格兰尼曼所著石磊所译清华大学出版社出版的一本介绍Linux系统指令,以及相关文件系统操作的书籍是初探Linux操作系统的优秀资料。《Docker技术入门与实战 第三版》【15】由杨保华、戴王剑、曹亚仑所著,是一本关于Docker的构建与操作的书籍,全书从Docker基本概念介绍、实战开发、Docker的扩展技能、开源项目解读四部分展开。Docker是分布式系统镜像部署的优秀工具,在区块链建设中有重要作用。
总结
总结所有文献,主要从web部分和区块链部分展开,除此外还包含了衔接部分和扩展部分。从Web的Node.js相关文献到区块链的文档、论文、开发书籍、博客文章再到开发系统的指令学习资料、工具学习资料。
参考文献
