目 录
第一部分 区块链基础
第1章 区块链基础入门 2
1.1 区块链基础知识 2
1.1.1 从比特币到区块链 2
1.1.2 区块链定义 3
1.1.3 区块链相关概念 4
1.1.4 区块链分类 6
1.2 区块链发展历程 8
1.2.1 技术起源 8
1.2.2 区块链1.0——“数字货币” 9
1.2.3 区块链2.0——智能合约 9
1.2.4 区块链3.0——超越货币、经济和市场 10
1.3 区块链关键技术 10
1.3.1 基础模型 10
1.3.2 数据层 11
1.3.3 网络层 16
1.3.4 共识层 17
1.3.5 激励层 19
1.3.6 合约层 20
1.4 区块链产业现状 21
1.4.1 区块链发展态势 21
1.4.2 区块链政府规划 22
1.4.3 区块链生态图谱 25
1.5 区块链应用场景 26
1.5.1 数字票据 26
1.5.2 供应链金融 27
1.5.3 应收账款 27
1.5.4 数据交易 27
1.5.5 债券交易 28
1.5.6 大宗交易 28
1.5.7 其他场景 28
1.6 区块链主流平台 29
1.7 本章小结 31
第二部分 开源区块链平台
第2章 以太坊深入解读 36
2.1 以太坊基础入门 36
2.1.1 以太坊发展历史 36
2.1.2 以太坊基本概念 37
2.1.3 以太坊客户端 39
2.1.4 以太坊账户管理 43
2.1.5 以太坊网络 46
2.2 以太坊核心原理 46
2.2.1 以太坊共识机制 47
2.2.2 以太坊虚拟机 49
2.2.3 以太坊数据存储 51
2.2.4 以太坊加密算法 53
2.3 以太坊智能合约 53
2.3.1 智能合约与Solidity简介 54
2.3.2 智能合约的编写与部署 56
2.3.3 智能合约测试与执行 67
2.3.4 智能合约实例分析 71
2.4 以太坊重大事件与现存问题 74
2.4.1 The DAO攻击事件 74
2.4.2 以太坊现存问题 75
2.5 本章小结 77
第3章 以太坊应用开发基础 78
3.1 以太坊开发环境搭建 78
3.1.1 配置以太坊环境 78
3.1.2 搭建以太坊私有链 80
3.2 以太坊集成开发环境 83
3.2.1 Mix IDE 83
3.2.2 Solidity在线实时编译器IDE 86
3.3 以太坊编程接口 89
3.3.1 JSON RPC 89
3.3.2 JavaScript API 94
3.4 DApp开发框架与流程 97
3.4.1 Meteor 97
3.4.2 Truffle 100
3.4.3 分层可扩展开发流程 102
3.5 第一个以太坊应用 104
3.5.1 优化MetaCoin应用 104
3.5.2 MetaCoin代码详解 106
3.5.3 MetaCoin应用运行 109
3.6 本章小结 111
第4章 Hyperledger Fabric深入解读 112
4.1 项目介绍 112
4.1.1 项目背景 112
4.1.2 项目简介 113
4.2 Fabric简介 115
4.3 核心概念 116
4.4 架构详解 118
4.4.1 架构解读 118
4.4.2 成员服务 120
4.4.3 区块链服务 124
4.4.4 合约代码服务 127
4.5 合约代码分析 128
4.5.1 合约代码概述 128
4.5.2 合约代码结构 129
4.5.3 CLI命令行调用 131
4.5.4 链码执行泳道图 132
4.6 交易流程 133
4.6.1 通用流程 133
4.6.2 流程详解 135
4.6.3 背书策略 138
4.7 本章小结 139
第5章 Hyperledger Fabric应用开发基础 140
5.1 环境部署 140
5.1.1 软件下载与安装 140
5.1.2 开发环境搭建 142
5.1.3 Go和Docker 144
5.2 链码开发指南 147
5.2.1 实现智能合约的接口 147
5.2.2 智能合约的依赖关系 148
5.2.3 智能合约的数据格式 148
5.2.4 智能合约的接口解析 149
5.2.5 智能合约案例代码分析 149
5.3 CLI应用实例 152
5.3.1 CLI 介绍 152
5.3.2 CLI 应用开发 153
5.4 SDK应用实例 163
5.4.1 SDK介绍 163
5.4.2 SDK应用开发 165
5.5 本章小结 169
第三部分 企业级区块链平台 Hyperchain
第6章 企业级区块链平台核心原理剖析 172
6.1 Hyperchain整体架构 172
6.2 共识算法 174
6.2.1 RBFT概述 174
6.2.2 RBFT常规流程 174
6.2.3 RBFT视图更换 176
6.2.4 RBFT自动恢复 177
6.2.5 RBFT节点增删 178
6.3 智能合约 179
6.3.1 智能合约执行引擎 180
6.3.2 HyperVM设计原理 180
6.3.3 HyperVM执行流程 181
6.4 账本数据存储机制 183
6.4.1 区块链 183
6.4.2 合约状态 185
6.4.3 Merkle树 186
6.5 安全与隐私机制 189
6.5.1 多级加密机制 189
6.5.2 基于CA的权限控制 190
6.6 可视化监管平台 191
6.6.1 Hypervision概览 191
6.6.2 Hypervision区块链管理 192
6.6.3 Hypervision合约管理 193
6.7 本章小结 194
第7章 Hyperchain应用开发基础 195
7.1 平台功能 195
7.1.1 JSON-RPC格式 195
7.1.2 交易调用 196
7.1.3 合约管理 200
7.1.4 区块查询 203
7.2 平台部署 206
7.2.1 Hyperchain配置 207
7.2.2 Hyperchain部署 207
7.2.3 Hyperchain运行 209
7.3 第一个Hyperchain应用 210
7.3.1 编写智能合约 211
7.3.2 部署与合约调用 212
7.4 本章小结 212
第四部分 区块链应用案例
第8章 以太坊应用实战案例详解 214
8.1 基于以太坊的通用积分系统案例分析 214
8.1.1 项目简介 214
8.1.2 系统功能分析 215
8.1.3 系统总体设计 216
8.1.4 智能合约设计 218
8.1.5 系统实现 224
8.1.6 系统部署 233
8.2 基于以太坊的电子优惠券系统案例分析 235
8.2.1 项目简介 235
8.2.2 系统功能分析 236
8.2.3 系统总体设计 237
8.2.4 智能合约设计 239
8.2.5 系统实现与部署 246
8.3 本章小结 250
第9章 企业级区块链应用实战案例详解 251
9.1 基于Hyperchain的数字票据系统案例分析 251
9.1.1 项目简介 251
9.1.2 系统功能分析 252
9.1.3 系统总体设计 253
9.1.4 智能合约设计 256
9.1.5 系统实现与部署 261
9.2 基于Hyperchain的出行打车平台案例分析 263
9.2.1 项目简介 263
9.2.2 系统功能分析 264
9.2.3 系统总体设计 267
9.2.4 智能合约设计 269
9.2.5 系统实现与部署 284
9.3 本章小结 286
· · · · · · (
收起)