- Hyperledger Fabric菜鸟进阶攻略
- 黎跃春 韩小东 付金亮编著
- 2347字
- 2025-02-20 07:44:20
前言
为什么要写这本书
随着跨行业区块链技术的逐渐普及,区块链技术成为应用程序开发或企业级应用解决方案的基础,各机构、企业将区块链、分布式账本和分布式应用平台的底层技术应用于更具有创新性的企业级应用的兴趣也在增长,但无论是开发人员还是企业,在使用区块链技术时都需要结合自身需求,根据不同的情况进行考虑。
·从开发人员的角度思考,能够支持在通用编程语言(如目前流行的Java、Python、Golang和Node.js等)中创建的智能合约的分布式账本平台,而不受限于特定的语言。这意味着大多数开发人员只需要熟练掌握一门编程语言就拥有开发智能合约所需的技能,并不需要额外的培训来学习新的语言。
·从企业的角度思考,通过其特定的功能与特性,能够使平台支持从政府、金融、公益事业、供应链物流到医疗保健等广泛的行业用例,并且能够保证应用的灵活性及可持续的扩展性。
其中,由Linux基金会主导并牵头,物联网、供应链、制造和科技等各行业的巨头共同宣布了区块链技术中第一个面向企业应用场景的开源分布式账本平台——Hyperledger(超级账本)联合项目,将区块链技术引入联盟链的应用场景中,为未来基于区块链技术打造高效率的商业网络打下基础,为透明、公开、去中心化的企业级分布式账本技术提供开源参考实现。
Hyperledger Fabric分布式超级账本平台技术基于其特点及优势,吸引了一大批区块链技术开发人员的加入,受到众多企业及相应开发人员的关注。但区块链技术涉及广泛,相关学习资料匮乏,偏重于开发实战方面的书籍更少。网络上的相关技术内容缺乏系统性,内容零散,导致学习者付出的时间、精力及成本成倍增长。
这种情况阻碍了许多开发人员的学习脚步,甚至让学习半途而废。为了提高开发人员的学习效率,降低学习成本,快速掌握Hyperledger Fabric应用开发技术,特编写了本书。
本书特色
本书是一本系统性讲解Hyperledger Fabric平台知识并侧重介绍应用项目开发实战的书籍,遵循实践出真知的理念,通过大量动手实践,循序渐进地介绍超级账本技术及相关核心模块。
本书的内容注重实用性及理论与实践相结合,由浅入深地介绍了超级账本技术原理,并详细说明了Hyperledger Fabric的逻辑架构、运行时架构及各网络节点角色的作用,深入介绍Hyperledger Fabric超级账本的交易流程实现;通过网络环境构建、链码开发,逐步探索Hyperledger Fabric分布式超级账本技术及其应用开发过程;最后通过项目实战,着重介绍了相关技术点及开发流程、技巧,让读者熟练掌握分布式超级账本平台技术,并根据不同的应用场景开发基于区块链平台的企业级分布式应用。
读者对象
·区块链应用开发人员;
·区块链技术爱好者;
·超级账本应用开发人员/架构师;
·高校计算机及相关专业师生。
如何阅读本书
本书分为4篇,共计13章内容。
基础篇(第1~3章),着重讲解Hyperledger Fabric环境搭建及架构设计,通过详细分析并动手实践的方式构建Hyperledger Fabric网络环境。
第1章 本章从Hyperledger Fabric由来开始,详细介绍了Hyperledger Fabric的框架、特点、环境搭建、快速调试方式。
第2章 本章从Hyperledger Fabric系统逻辑架构设计开始,延伸到运行时网络结构、节点角色与相关的概念,以及Hyperledger Fabric对网络交易处理流程的详细解析。
第3章 本章通过对主要配置文件的分析与讲解,一步一步地完成构建Hyperledger Fabric网络环境所需组件的详细实现过程。
链码篇(第4~5章),详细介绍了链码,帮助读者熟练掌握链码的开发并进行相应的测试。
第4章 本章详细介绍了链码的概念与分类,并实现链码生命周期管理及两种测试。
第5章 本章侧重讲解链码的开发方式、开发过程、链码的主要API,并通过链码开发示例掌握链码对账本数据状态操作的核心API。
核心篇(第6~9章),着重讲解Hyperledger Fabric核心模块,如MSP成员管理、共识机制、数据分发机制,深入了解Hyperledger Fabric分布式账本状态数据的存储方式及过程。
第6章 本章主要讲解与成员管理服务相关的内容,包括MSP成员验证、结构组成、具体应用,并详细说明了Hyperledger Fabric CA服务器的搭建及客户端的具体使用方法。
第7章 本章侧重于Hyperledger Fabric共识机制的实现,包括基于Kafka实现排序服务的具体实践操作,最后介绍了多链及多通道的概念与具体实现。
第8章 本章首先介绍了Gossip协议的内容,以图文并茂的方式说明了Gossip数据传输实现方式,最后详细说明了Hyperledger Fabric中基于Gossip协议实现的P2P数据分发与数据同步机制。
第9章 本章详细介绍了分布式账本的数据组成结构及数据的存储实现方式。
项目实战篇(第10~13章),以循序渐进的方式逐步讲解如何使用Fabric-SDK-Go开发基于Hyperledger Fabric的区块链应用程序;从业务逻辑分析、项目架构设计等方面入手,掌握区块链应用程序的整体开发流程及相关技巧。
第10章 本章侧重于项目开发前期的环境准备工作,包含操作系统环境、工具及配置,以及网络环境的构建、配置。
第11章 本章介绍如何使用Fabric-SDK-Go进行区块链应用开发,包括链码开发、如何使用Fabric-SDK-Go调用链码、应用程序自动化部署与快速测试。
第12章 为了方便用户的使用,本章在第10、11章的基础之上着重介绍实现基于Web的区块链应用程序,主要介绍了Web应用的MVC架构及其具体实现。
第13章 本章通过一个精简的区块链学历信息征信系统,介绍了基于Hyperledger Fabric平台的区块链应用程序的整体开发流程与实现方式。读者可以通过本章全方位掌握区块链应用开发的相关知识,进而可以直接从事基于Hyperledger Fabric的区块链开发工作。
勘误和支持
由于笔者水平及经验所限,编写时间仓促,书中难免出现疏漏或描述不准确之处,恳请读者提出并指正。如果您有更多的宝贵意见,可以直接发送E-mail至hanxiaodong@cldy.org联系笔者,期待能够得到大家的真挚反馈,让我们在技术之路上一起互勉共进。
致谢
感谢Hyperledger Fabric、ZooKeeper、Kafka等官方文档的作者提供了全面、深入、准确的参考资料。
感谢机械工业出版社华章公司的高婧雅编辑,初写书稿时,笔者是从技术人员的角度出发的,正是高婧雅编辑真正从读者的角度出发提出了相关的建议并给予相应帮助,笔者才完成了本书的书稿。
特别致谢
在此,特别感谢家人、同事及众多技术爱好者的鼓励与支持,尤其是家人,编写此书的过程中,我的爱人与女儿从来没有任何抱怨,可以让我安心地思考及写作。
韩小东