新書推薦:
《
量子网络的构建与应用
》
售價:NT$
500.0
《
拍电影的热知识:126部影片里的创作技巧(全彩插图版)
》
售價:NT$
500.0
《
大唐名城:长安风华冠天下
》
售價:NT$
398.0
《
情绪传染(当代西方社会心理学名著译丛)
》
售價:NT$
403.0
《
中国年画 1950-1990 THE NEW CHINA: NEW YEAR PICTURE 英文版
》
售價:NT$
1100.0
《
革命与反革命:社会文化视野下的民国政治(近世中国丛书)
》
售價:NT$
435.0
《
画楼:《北洋画报》忆旧(年轮丛书)
》
售價:NT$
1573.0
《
大国脊梁:漫画版
》
售價:NT$
374.0
|
編輯推薦: |
(1)区块链践行者联合撰写,充分考虑疑难点,将学习路径放大讲解,初学者友好
(2)本书涵盖Hyperledger Fabric架构、应用、原理与综合案例,多维度引导读者掌握区块链
|
內容簡介: |
本书从架构,核心部件,到实际开发,涉及多个维度,共11章。第1章,Hyperledger Fabric的认识与环境搭建。第2章,深入浅出Fabric架构设计。第3章,化繁为简自行搭建你的Fabric网络。第4章,全方位认识链码:链码作用及对链码进行管理与测试。第5章,链码开发与实践。第6章,深入MSP成员管理与Fabric CA服务实现。第7章,白话Fabric共识机制。第8章,Fabric中数据分发机制的实现。第9章,Fabric分布式账本数据存储。第10-13章,Web应用环境搭建、架构以及基于区块链技术的学历信息征信系统实现。
|
目錄:
|
前 言
基 础 篇
第1章Hyperledger Fabric认知与环境搭建3
1.1全面认识超级账本3
1.1.1超级账本由来3
1.1.2超级账本分类4
1.1.3认识Hyperledger Fabric4
1.2迈出第一步:搭建环境5
1.2.1操作系统5
1.2.2安装所需工具5
1.3安装Hyperledger Fabric10
1.3.1下载fabric-samples与二进制文件10
1.3.2Hyperledger Fabric源码方式编译12
1.4测试Hyperledger Fabric网络环境17
1.4.1测试Hyperledger Fabric环境18
1.4.2构建你的第一个Hyperledger Fabric网络18
第2章深入浅出介绍Hyperledger Fabric架构设计21
2.1透视逻辑架构与运行时架构21
2.1.1逻辑架构21
2.1.2运行时架构22
2.2Hyperledger Fabric交易流程分析24
2.3Hyperledger Fabric核心配置文件详解28
2.3.1core.yaml详解29
2.3.2orderer.yaml详解36
第3章搭建自己的Hyperledger Fabric网络39
3.1生成组织结构与身份证书39
3.1.1与组织结构及身份证书关联的配置文件39
3.1.2如何生成组织结构及身份证书40
3.2不可或缺的配置文件45
3.2.1conf?igtx.yaml配置文件指定的核心内容45
3.2.2Orderer服务启动初始区块的创建47
3.2.3创建必需的应用通道交易配置文件48
3.2.4生成锚节点更新配置文件49
3.3一分钟启动分布式网络49
3.3.1网络服务的配置50
3.3.2关联的docker-compose-base.yaml52
3.3.3又被关联的peer-base.yaml54
3.3.4启动网络55
3.4以最快的方式完成应用通道的创建57
3.4.1创建应用通道57
3.4.2将节点加入应用通道58
3.4.3更新锚节点59
链 码 篇
第4章全方位认识链码:链码管理与测试63
4.1初识链码:链码的概念与原理63
4.2链码使用:安装、实例化、查询与调用65
4.2.1安装链码66
4.2.2实例化链码66
4.2.3查询链码67
4.2.4调用链码67
4.3链码的其他操作:实现链码的打包与升级69
4.3.1链码的打包与签名69
4.3.2链码的升级70
4.4开发模式下的测试:简化链码的测试过程72
4.4.1启动网络72
4.4.2构建并启动链码73
4.4.3调用链码74
第5章链码开发与实践77
5.1如何利用Fabric提供的接口编写链码77
5.1.1链码接口78
5.1.2必要结构78
5.2如何操作账本数据:熟悉链码相关API79
5.3链码实现的Hello World81
5.3.1链码开发82
5.3.2链码测试84
5.4动手编码一:链码实现资产管理85
5.4.1资产链码开发85
5.4.2链码测试88
5.5动手编码二:链码实现转账89
5.5.1转账链码开发89
5.5.2链码测试97
核 心 篇
第6章MSP成员管理与Hyperledger Fabric CA服务实现101
6.1走进MSP101
6.1.1MSP的定义与作用101
6.1.2MSP的组成结构102
6.1.3MSP应用103
6.2认识与安装Hyperledger Fabric CA105
6.3启动Hyperledger Fabric CA107
6.3.1初始化107
6.3.2快速启动108
6.3.3配置数据库109
6.3.4配置LDAP110
6.4应用Hyperledger Fabric CA的客户端命令111
6.4.1Hyperledger Fabric CA客户端命令112
6.4.2查看AKI和序列号116
第7章白话Hyperledger Fabric共识机制118
7.1Hyperledger Fabric中的共识实现118
7.1.1共识算法的属性和类型118
7.1.2Hyperledger Fabric中的共识实现120
7.2基于Kafka排序服务的实现121
7.2.1指定Kafka实现排序服务122
7.2.2配置网络环境123
7.2.3启动网络129
7.2.4测试Kafka排序服务131
7.3多链及多通道实现133
7.3.1多链及多通道133
7.3.2应用多通道135
第8章Hyperledger Fabric中数据分发机制的实现139
8.1认识Gossip139
8.1.1Gossip协议139
8.1.2Gossip数据传输140
8.2Hyperledger Fabric中数据同步的实现141
8.2.1Hyperledger Fabric中的Gossip141
8.2.2Hyperledger Fabric的数据同步实现144
第9章Hyperledger Fabric分布式账本数据存储147
9.1交易数据的存储147
9.1.1区块链账本数据147
9.1.2数据存储150
9.2Hyperledger Fabric状态数据库154
9.2.1CouchDB数据库简介154
9.2.2CouchDB在Hyperledger Fabric中的具体实现154
9.2.3测试CouchDB159
项目实战篇
第10章 Web项目实战之环境搭建165
10.1 环境准备清单165
10.2 搭建网络环境166
10.2.1网络环境准备166
10.2.2配置docker-compose.yml文件167
10.2.3测试网络环境171
第11章 Web项目实战之使用Fabric-SDK-Go173
11.1 创建Fabric-SDK对象并建立通道173
11.1.1配置Fabric-SDK173
11.1.2定义所需结构体177
11.1.3创建Fabric-SDK178
11.1.4测试创建通道179
11.2 满足依赖180
11.2.1安装dep工具180
11.2.2下载所需依赖181
11.2.3测试Fabric-SDK181
11.2.4关闭网络并清理环境182
11.2.5利用Makef?ile简化步骤182
11.3 链码实现184
11.4 使用Fabric-SDK实现链码的自动部署186
11.4.1添加结构体成员186
11.4.2使用Fabric-SDK安装及实例化链码187
11.4.3在main中调用188
11.4.4测试188
第12章 Web项目实战之Web应用实现190
12.1 理解MVC,合理地设计应用190
12.2 调用链码:设计业务层192
12.2.1事件处理192
12.2.2调用链码添加状态193
12.2.3调用链码查询状态194
12.3 MVC架构应用实现196
第13章 实战:构建学历信息征信系统201
13.1 需求分析与架构设计201
13.1.1需求分析201
13.1.2架构设计202
13.1.3数据模型设计202
13.1.4网络环境203
13.1.5测试网络环境205
13.2 SDK与链码的实现205
13.2.1创建conf?ig.yaml文件205
13.2.2声明结构体205
13.2.3编写链码206
13.2.4Fabric-SDK-Go实现211
13.2.5安装依赖214
13.2.6链码自动部署216
13.3 业务层实现218
13.3.1事件处理218
13.3.2业务层调用链码实现添加状态219
13.3.3根据证书编号与姓名查询状态221
13.3.4根据身份证号码查询状态223
13.3.5修改添加信息状态224
13.4 控制层实现226
13.4.1设置系统用户226
13.4.2处理响应228
13.4.3处理请求228
13.4.4指定路由228
13.5 视图层实现228
13.5.1目录结构228
13.5.2相关源码实现229
13.5.3照片上传230
13.6 项目交互演示231
13.6.1启动Web服务231
13.6.2访问页面232
附录 词汇术语表235
|
內容試閱:
|
为什么要写这本书
随着跨行业区块链技术的逐渐普及,区块链技术成为应用程序开发或企业级应用解决方案的基础,各机构、企业将区块链、分布式账本和分布式应用平台的底层技术应用于更具有创新性的企业级应用的兴趣也在增长,但无论是开发人员还是企业,在使用区块链技术时都需要结合自身需求,根据不同的情况进行考虑。
从开发人员的角度思考,能够支持在通用编程语言(如目前流行的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进行区块链应用开发,包括链码开发、如何
|
|