《区块链开发实战 Hyperledger Fabric关键技术与案例分析》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:冯翔,刘涛,吴寿鹤,周广益著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2018
  • ISBN:9787111599425
  • 页数:306 页
图书介绍:本书以Hyperledger Fabric和比特币这两个典型区块链技术平台的核心技术、开发方法和相关的项目案例为核心内容,还提供了大量的命令脚本和代码示例供读者参考,力图使读者在最短的时间内掌握这两个平台的使用方法。本书首先从基本认识的角度对区块链进行了宏观上的介绍,然后讲解了Hyperledger Fabric的核心技术、原理、开发方法,以及多个项目案例,最后讲解了比特币的原理、运行方式、重要模块和编程接口等内容,环环相扣,结构紧密,体系严谨。

第1章 全面认识区块链 1

1.1 区块链技术的起源和解释 1

1.2 区块链的核心技术及其特性 2

1.2.1 区块链技术的特性 3

1.2.2 区块链的分布式存储技术特性 3

1.2.3 区块链的密码学技术特性 4

1.2.4 区块链中的共识机制 8

1.2.5 区块链中的智能合约 12

1.3 区块链技术演进过程 13

1.4 区块链技术的3个缺点 13

1.5 区块链技术常见的4个错误认识 14

1.6 区块链技术的应用领域 15

1.6.1 区块链在金融行业的应用 15

1.6.2 区块链在供应链中的应用 16

1.6.3 区块链在公证领域的应用 17

1.6.4 区块链在数字版权领域的应用 18

1.6.5 区块链在保险行业的应用 19

1.6.6 区块链在公益慈善领域的应用 21

1.6.7 区块链与智能制造 22

1.6.8 区块链在教育就业中的应用 23

1.7 区块链的其他常见技术框架 24

1.8 本章小结 25

第2章 实战准备 26

2.1 开发环境准备 26

2.1.1 操作系统的配置 26

2.1.2 Docker的使用 27

2.1.3 Git的使用 30

2.2 开发语言 30

2.2.1 GO语言 30

2.2.2 Node.js 32

2.3 常用工具 32

2.3.1 Curl 32

2.3.2 tree 33

2.3.3 Jq 33

2.4 本章小结 34

第3章 Hyperledger简介 35

3.1 Hyperledger综述 35

3.1.1 Hyperledger的项目背景 35

3.1.2 Hyperledger的项目成员 36

3.2 Hyperledger的体系结构 37

3.2.1 获取Hyperledger源代码并成为开发者 37

3.2.2 Hyperledger的9个正式项目 38

3.3 本章小结 43

第4章 Fabric快速入门 44

4.1 Fabric的技术特性 44

4.1.1 Fabric的多账本特性 44

4.1.2 Fabric的智能合约 45

4.1.3 Fabric的权限系统 46

4.1.4 Fabric的共识算法 47

4.2 Hyperledger中与Fabric相关的项目 47

4.3 Fabric的模块、安装和使用 48

4.3.1 Fabric的编译和安装 49

4.3.2 Fabric模块安装结果检查 50

4.3.3 利用Docker运行Fabric相关模块 51

4.4 快速运行一个简单的Fabric网络 53

4.4.1 Fabric环境准备 53

4.4.2 生成Fabric需要的证书文件 54

4.4.3 创始块的生成 56

4.4.4 Orderer节点的启动 59

4.4.5 Peer节点的启动 60

4.4.6 创建通道 64

4.4.7 Chaincode的部署和调用 65

4.5 本章小结 66

第5章 Fabric核心模块详解 67

5.1 Fabric的核心模块功能、通用选项和命令 67

5.1.1 Fabric核心模块及其功能 67

5.1.2 Fabric模块的通用选项和命令 68

5.2 Fabric模块的子命令、选项和配置文件 68

5.2.1 cryptogen 69

5.2.2 configtxgen 74

5.2.3 configtxlator 77

5.2.4 orderer 79

5.2.5 peer 85

5.3 Fabric模块在系统中的作用 92

5.3.1 peer模块在Fabric系统中的作用 92

5.3.2 orderer模块在Fabric系统中的作用 95

5.4 Fabric数据安全传输的方式 95

5.4.1 Fabric中orderer模块TLS设置 95

5.4.2 Fabric中peer模块TLS设置 96

5.5 本章小结 98

第6章 Fabric的账号体系 99

6.1 Fabric账号简介 99

6.1.1 Fabric账号是什么 99

6.1.2 什么地方需要使用Fabric的账号 101

6.2 基于cryptogen的账号管理体系 103

6.3 Fabric账号服务器:Fabric-ca 106

6.3.1 Fabric-ca的编译和安装 107

6.3.2 fabric-ca-server的启动和配置 108

6.3.3 fabric-ca-client的使用 115

6.4 将fabric-ca-server绑定到现有项目中 117

6.5 本章小结 120

第7章 Fabric的智能合约详解 121

7.1 Chaincode初探 121

7.2 快速编写和运行一个Chaincode 122

7.3 Golang版本的Chaincode的代码结构 125

7.3.1 Chaincode源代码的基本结构 125

7.3.2 shim包的核心方法 127

7.3.3 ChaincodeStublnterface接口中的核心方法 128

7.4 Chaincode相关的操作命令和选项 136

7.5 如何通过Chaincode进行交易的endorse 140

7.6 Chaincode的调试方法 142

7.6.1 Chaincode在Docker容器之外的运行 142

7.6.2 Chaincode在IDE中的调试 145

7.7 本章小结 148

第8章 Fabric和Fabric-ca的编程接口 149

8.1 Fabric接口的通信协议和功能划分 149

8.2 Fabric Nodejs SDK的使用 151

8.2.1 如何获取Fabric Nodejs SDK源代码 151

8.2.2 快速构建基于Nodejs的Fabric客户端 151

8.2.3 Fabric Nodejs SDK中TLS的设置 159

8.3 Fabric Java SDK 160

8.3.1 Fabric Java SDK的安装 160

8.3.2 Fabric Java SDK的常用接口 161

8.3.3 Fabirc Java SDK中TLS的设置 169

8.4 Fabric Go SDK 170

8.4.1 Fabric Golang的安装 170

8.4.2 创建配置文件 170

8.4.3 一个简单的Golang访问Fabric的例子 171

8.4.4 Fabric Golang SDK其他用法 174

8.4.5 Fabric Golang SDK的背书操作 176

8.5 本章小结 176

第9章 Fabric系统架构设计 177

9.1 Fabric架构中的组织规划 177

9.1.1 确认组织 178

9.1.2 组织的管理方式 178

9.2 Fabric系统的结构 179

9.2.1 Fabric系统的逻辑结构 179

9.2.2 Fabric系统的物理结构 181

9.3 Fabric中Channel的设计 181

9.4 Chaincode 182

9.5 数据访问层 183

9.6 历史遗留系统的兼容 185

9.7 Fabric系统的维护和管理 186

9.8 本章小结 187

第10章 Fabric开发实战:开发流程与实例详解 188

10.1 Fabric项目的开发流程 188

10.2 Fabric项目开发实例详解 191

10.2.1 系统初始化 191

10.2.2 Orderer节点的初始化和启动 193

10.2.3 启动第一个Peer 198

10.2.4 Channel的创建和加入 200

10.2.5 启动当前组织的Fabric-ca 202

10.2.6 测试Chaincode的部署和开发 202

10.2.7 客户端的开发 203

10.2.8 启动本组织的其他Peer 205

10.2.9 其他组织Peer节点的加入 208

10.2.10 背书交易的测试 210

10.2.11 非初始化组织的加入 214

10.3 本章小结 220

第11章 基于Fabric的区块链浏览器项目实战 221

11.1 项目介绍 221

11.2 开发过程 222

11.2.1 项目准备 222

11.2.2 项目开发 222

11.3 本章小结 229

第12章 基于Fabric的供应链金融项目实战 230

12.1 供应链金融的背景知识和痛点 230

12.1.1 供应链金融的背景知识 230

12.1.2 供应链金融的痛点 231

12.1.3 用Fabric解决供应链金融痛点的方法 231

12.2 用Fabric构建供应链金融系统的方法 232

12.2.1 系统的设计 232

12.2.2 系统环境搭建 233

12.2.3 客户端开发 239

12.3 本章小结 244

第13章 基于Fabric的食品溯源项目实战 245

13.1 数据溯源的背景知识和痛点 245

13.1.1 数据溯源的背景知识 245

13.1.2 数据溯源的痛点 245

13.2 Fabric如何优化数据溯源系统 246

13.3 Fabric如何构建数据溯源系统 246

13.3.1 系统环境搭建 247

13.3.2 客户端开发 262

13.4 本章小结 271

附录A 比特币的原理和运行方式 272

附录B 比特币的bitcoin-cli模块详解 282

附录C 比特币系统的编程接口 292

附录D 比特币系统客户端项目实战 297

附录E 区块链相关术语 304