猜你喜欢
区块链轻松上手:原理、源码、搭建与应用

区块链轻松上手:原理、源码、搭建与应用

书籍作者:Leader-us ISBN:9787121348785
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:2258
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
下载地址
内容简介

《区块链轻松上手:原理、源码、搭建与应用》首先从以比特币为代表的数字货币的历史与现状开始,讲解区块链的概念、生态、底层技术与架构;然后讲解Fabric的开发环境与调试方法,并细致解析配置文件及命令行的用法;其次以Fabric Java SDK为主介绍如何使用Java代码开发Fabric应用,包括客户端管理、通道配置、事件监听、智能合约开发等;再次深入解析Fabric源码,解析客户端交易、智能合约初始化及背书流程;最后深入讲解Fabric的安全机制,以及Fabric CA的使用与管理等内容。

《区块链轻松上手:原理、源码、搭建与应用》兼顾原理与实战,主要面向想快速上手区块链及了解其原理与架构的学生、爱好者、开发人员、架构师与技术管理人员。

作者简介

Leader-us

本名吴治辉,HPE资深架构师,拥有超过15年的软件研发经验,专注于电信软件和云计算领域的软件研发,拥有丰富的大型项目架构设计经验,是业界少有的具备很强Coding能力的S级资深架构师,也是《ZeroC Ice木又威指南》《架构解密:从分布式到微服务》《Kubernetes木又威指南:从Docker到Kubernetes实践全接触》《Kubernetes木又威指南:企业级容器云实战》等书的作者。

李艳军

拥有多年IT行业从业经验,开源软件爱好者,专注于区块链、云计算方面的技术研究。

赵锴

拥有十多年IT行业从业经验,热爱开源事业,致力于将前沿技术转化为生产力,曾在多家手游、电信及医疗公司担任架构师和技术总监。

编辑推荐
适读人群 :本书兼顾原理与实战,主要面向想快速上手区块链及了解其原理与架构的学生、爱好者、开发人员、架构师与技术管理人员。

√ 全新思路,区块链上手性极强,一步步引导和深入

√ 以HyperLedger Fabric为主线,框架剖析更详尽、干货更多

√ 深入浅出区块链原理,有理论有实践,完美结合

√ 若想快速上手区块链,了解其原理与架构,那么本书很适合


《区块链轻松上手:原理、源码、搭建与应用》电子书免费下载

pdf下载 txt下载 epub下载 mobi下载 azw3下载

前言

在说什么是区块链之前,先说一个小故事。

看过《三国演义》的人都知道,刘备自称刘皇叔,是中山靖王之后,以匡扶汉室之名,拉拢一批人建立了蜀国,形成三国鼎立之势。但回过头来看,大家为什么相信他真的是“刘皇叔”呢?其实在《三国演义》里有这么一段描述:

帝宣上殿,问曰:“卿祖何人?”玄德奏曰:“臣乃中山靖王之后,孝景皇帝阁下玄孙,刘雄之孙,刘弘之子也。”帝教取宗族世谱检看,令宗正卿宣读曰:“孝景皇帝生十四子。第七子乃中山靖王刘胜。胜生陆城亭侯刘贞。贞生沛侯刘昂。昂生漳侯刘禄。禄生沂水侯刘恋。恋生钦阳侯刘英。英生安国侯刘建。建生广陵侯刘哀。哀生胶水侯刘宪。宪生祖邑侯刘舒。舒生祁阳侯刘谊。谊生原泽侯刘必。必生颍川侯刘达。达生丰灵侯刘不疑。不疑生济川侯刘惠。惠生东郡范令刘雄。雄生刘弘。弘不仕。刘备乃刘弘之子也。”帝排世谱,则玄德乃帝之叔也。帝大喜,请入偏殿叙叔侄之礼……

原来就是翻出族谱,追溯整整十八代,才相信刘备为汉室之后。事实上,社会因为“信任”问题需要付出极大的代价,而解决该问题的方法之一就是从可以追溯且不能修改的记录中找到信任的依据。这种信任的实现方式就是讨论区块链的基础。

区块链到底是什么?比特币为什么这么值钱?那些看不见也摸不着的数字货币到底是不是传销?毫无疑问,作为区块链技术的应用之一——比特币已经大获成功,区块链所涉及的账本、分布式与去中心化、共识算法、智能合约、数字密钥、隐私保护、可信计算等技术也变得非常热门,基于这些技术的大量项目涌现。而区块链的发展价值就在于试图通过技术手段降低社会信任成本,并提高社会生产效率。

当然,区块链现在还有不足之处:除了比特币,还没有特别成功的典型应用。究其原因,一方面是区块链在高并发、低延迟的交易场景下还有许多技术问题需要解决;另一方面是只能保证线上数据可信的特性限制了其应用场景。在大规模应用区块链时,社会的接受成本也是我们必须考虑的要素。在商业利益的驱动下,即使区块链能够提供各种各样的好处,选择应用区块链也只是一种纳什均衡而非最优策略。无论如何,区块链并不是“包治百病的灵丹妙药”,它还只是一个崭新的领域,正在蓬勃发展。

本书总计6章:第1章从以比特币为代表的数字货币的历史与现状开始,讲解区块链的概念,并通过一个简单示例让读者与Fabric有一次“亲密接触”;第2章阐述区块链的生态、底层技术与架构;第3章讲解Fabric的开发环境与调试方法,介绍更复杂的Fabric网络,并细致解析配置文件及命令行的用法;第4章以Fabric Java SDK为主介绍如何使用Java开发Fabric应用,包括客户端管理、通道配置、事件监听、智能合约开发等;第5章从创世区块开始,逐步深入解析Fabric源码,解析客户端交易、智能合约初始化及背书流程;第6章深入讲解Fabric的安全机制,以及Fabric CA的使用与管理。本书提供了部分示例代码(参见GitHub网站的MyCATApache/SuperLedger项目),希望对读者有所帮助,也希望读者能及时反馈并与我们沟通,指出书中的错漏之处,帮助我们完善内容。

最后,感谢家人的理解与支持,感谢张国霞编辑的耐心指导,感谢Mycat社区的帮助与鼓励!

目录

第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