√ 全新思路,区块链上手性极强,一步步引导和深入
√ 以HyperLedger Fabric为主线,框架剖析更详尽、干货更多
√ 深入浅出区块链原理,有理论有实践,完美结合
√ 若想快速上手区块链,了解其原理与架构,那么本书很适合
《区块链轻松上手:原理、源码、搭建与应用》首先从以比特币为代表的数字货币的历史与现状开始,讲解区块链的概念、生态、底层技术与架构;然后讲解Fabric的开发环境与调试方法,并细致解析配置文件及命令行的用法;其次以Fabric Java SDK为主介绍如何使用Java代码开发Fabric应用,包括客户端管理、通道配置、事件监听、智能合约开发等;再次深入解析Fabric源码,解析客户端交易、智能合约初始化及背书流程;最后深入讲解Fabric的安全机制,以及Fabric CA的使用与管理等内容。
《区块链轻松上手:原理、源码、搭建与应用》兼顾原理与实战,主要面向想快速上手区块链及了解其原理与架构的学生、爱好者、开发人员、架构师与技术管理人员。
第1章 全面理解区块链 1
1.1 从比特币开始 1
1.1.1 颠覆性的比特币 1
1.1.2 从比特币到以太坊 9
1.1.3 山寨币蜂拥而至 10
1.1.4 不得不提的瑞波币 13
1.1.5 数字加密货币的现状与前景 15
1.2 理解区块链的概念 18
1.2.1 深入理解Blockchain 18
1.2.2 数字账本 22
1.2.3 智能合约 24
1.2.4 共识机制 25
1.3 快速体验Fabric 28
1.3.1 Fabric的概念与术语 28
1.3.2 Fabric的安装过程 32
1.3.3 智能合约初体验 36
第2章 区块链的生态与原理 40
2.1 区块链的生态 40
2.1.1 Hyperledger社区 40
2.1.2 Blockchain as a Service 42
2.1.3 区块链的应用场景 44
2.2 区块链的底层技术与架构 48
2.2.1 P2P网络 48
2.2.2 密码学与安全技术 53
2.2.3 Gossip协议 62
2.3 区块链平台架构 64
2.3.1 区块链平台的常规架构 64
2.3.2 Fabric的原理与架构 68
2.3.3 Fabric架构总结 73
第3章 Fabric安装与调试 76
3.1 Fabric源码安装 76
3.1.1 基础环境安装 77
3.1.2 编译Fabric 81
3.1.3 部署Fabric网络 86
3.2 Fabric开发调试 97
3.2.1 智能合约体验 97
3.2.2 调试Fabric源码 101
3.3 更复杂的Fabric网络 108
3.3.1 网络的结构与定义 109
3.3.2 Orderer节点的详细配置与定义 114
3.3.3 Peer节点的详细配置与定义 119
3.3.4 peer命令 131
第4章 Fabric应用开发实践 137
4.1 Fabric SDK概述 137
4.1.1 Client模块 138
4.1.2 Chains模块 140
4.2 通道配置 145
4.2.1 使用Configtxgen工具生成通道配置 145
4.2.2 创建通道 146
4.2.3 加入通道 148
4.2.4 更新通道 148
4.3 智能合约管理 150
4.3.1 开发智能合约 151
4.3.2 安装智能合约 154
4.3.3 实例化智能合约 155
4.3.4 调用智能合约 157
4.3.5 查询智能合约 158
4.3.6 升级智能合约 158
4.4 监听事件 160
4.4.1 事件服务类型 161
4.4.2 监听交易事件 161
4.4.3 已提交事件 163
4.4.4 监听区块事件 163
4.4.5 智能合约事件 164
第5章 深入研究Fabric网络 166
5.1 Fabric的创世区块 167
5.1.1 Fabric的网络结构定义 167
5.1.2 创世区块的结构 171
5.1.3 创世区块的通道定义 177
5.1.4 创世区块的生成代码解析 180
5.1.5 组织与策略的定义 185
5.2 Peer客户端发起交易 187
5.2.1 提案打包 188
5.2.2 提案签名 189
5.2.3 提案背书 189
5.3 Chaincode的初始化 191
5.3.1 ChaincodeServer的初始化 191
5.3.2 通过initSysCCs启动容器 192
5.3.3 启动Chaincode 194
5.4 Endorser的背书流程 194
5.4.1 preProcess交易预处理 195
5.4.2 checkSignatureFromCreator检查签名 197
5.4.3 CheckProposalTxID验证 198
5.4.4 策略评估 199
5.4.5 simulateProposal模拟交易 201
5.4.6 Chaincode的调用流程 203
5.4.7 RWSet与防双花攻击 205
5.4.8 ESCC背书流程 206
第6章 深入理解Fabric的安全机制 207
6.1 Fabric安全概述 207
6.1.1 成员管理服务 207
6.1.2 交易安全与隐私保护 209
6.1.3 智能合约的安全机制 210
6.2 深入理解Fabric MSP 212
6.2.1 MSP模型 212
6.2.2 MSP的证书体系 215
6.2.3 MSP的映射问题 218
6.3 深入理解Fabric CA 220
6.3.1 Fabric CA架构的组成 220
6.3.2 Fabric CA安装及功能 223
6.3.3 Fabric CA SDK编程 232
2016年,在解决客户的结算支付系统的架构选型问题时,我和治辉相识,当时我便深深折服于他对技术的专注及由此积累的深厚技术功底。这些年,从分布式数据库中间件、微服务架构到容器编排,治辉一直行走在技术的前沿,关于区块链的这次探索也不例外。关于区块链,众说纷纭,《区块链轻松上手:原理、源码、搭建与应用》从机制、机理的角度看区块链,能够帮助读者拨开迷雾,轻松掌握区块链的技术本质。
——德勤管理咨询副总监 刘剑锋
区块链作为一项新兴技术,早出现在以比特币作为数字加密货币的核心技术中,至今不过十年,但是价值不仅限于数字加密货币;更重要的是,它让各个组织、机构建立起天然的互信体系。《区块链轻松上手:原理、源码、搭建与应用》从区块链的基础知识开始讲起,以HyperLedger Fabric为主线,清晰地讲解了基于HyperLedger Fabric联盟链的搭建、开发、应用和解析等,能够帮助大家轻松上手区块链并掌握开发联盟链的基本技能。本书适合对区块链感兴趣的读者阅读和参考。
——《可伸缩服务架构:框架与中间件》《分布式服务架构:原理、设计与实战》作者 李艳鹏
Hyperledger Fabric是非常优秀的区块链框架,实现了完备的权限控制和安全保障,可代表区块链技术的新高度。《区块链轻松上手:原理、源码、搭建与应用》是目前市面上对Fabric框架剖析更详尽、干货更多的一本书,它摒弃喧嚣,回归技术,深入浅出地讲解区块链的原理,并将理论和实践充分结合。我们在阅读本书时能充分感受到作者编著本书时的认真和严谨,在学习相关知识遇到问题时大多能在本书中找到答案。建议想系统学习区块链的同行都阅读本书。
——拜腾汽车中国区软件研发总监 林海