蔡亮、李启雷、梁秀波著的《区块链技术进阶与实战》从实战的角度出发,结合实际应用开发场景,对区块链技术进行了全面介绍和剖析。全书共分为四个部分:第一部分对区块链进行了全景分析,介绍了其概念、历史、技术流派、主要公司和典型应用场景,并给出了当前区块链产业生态图谱;第二部分对知名开源区块链平台以太坊和HyperLedger进行了详细解读,并介绍了如何基于这两个平台进行区块链应用开发;第三部分以自主可控联盟区块链Hyperchain为例,分析了企业级区块链平台的核心技术,介绍了基于Hyperchain的企业级区块链应用开发技术;第四部分介绍了多个区块链实际应用项目案例,并对开发过程和关键代码进行了详细分析。本书不仅全面深入,而且注重实战,非常适合区块链开发人员由浅入深地学习区块链技术。
本书适用于对区块链技术感兴趣的程序员、架构师和高校学生,可作为高校教材和培训资料。
第一部分 区块链基础
第1章 区块链基础入门
1.1 区块链基础知识
1.1.1 从比特币到区块链
1.1.2 区块链定义
1.1.3 区块链相关概念
1.1.4 区块链分类
1.2 区块链发展历程
1.2.1 技术起源
1.2.2 区块链1.0——“数字货币”
1.2.3 区块链2.0——智能合约
1.2.4 区块链3.0——超越货币、经济和市场
1.3 区块链关键技术
1.3.1 基础模型
1.3.2 数据层
1.3.3 网络层
1.3.4 共识层
1.3.5 激励层
1.3.6 合约层
1.4 区块链产业现状
1.4.1 区块链发展态势
1.4.2 区块链政府规划
1.4.3 区块链生态图谱
1.5 区块链应用场景
1.5.1 数字票据
1.5.2 供应链金融
1.5.3 应收账款
1.5.4 数据交易
1.5.5 债券交易
1.5.6 大宗交易
1.5.7 其他场景
1.6 区块链主流平台
1.7 本章小结
第二部分 开源区块链平台
第2章 以太坊深入解读
2.1 以太坊基础入门
2.1.1 以太坊发展历史
2.1.2 以太坊基本概念
2.1.3 以太坊客户端
2.1.4 以太坊账户管理
2.1.5 以太坊网络
2.2 以太坊核心原理
2.2.1 以太坊共识机制
2.2.2 以太坊虚拟机
2.2.3 以太坊数据存储
2.2.4 以太坊加密算法
2.3 以太坊智能合约
2.3.1 智能合约与Solidity简介
2.3.2 智能合约的编写与部署
2.3.3 智能合约测试与执行
2.3.4 智能合约实例分析
2.4 以太坊重大事件与现存问题
2.4.1 The DAO攻击事件
2.4.2 以太坊现存问题
2.5 本章小结
第3章 以太坊应用开发基础
3.1 以太坊开发环境搭建
3.1.1 配置以太坊环境
3.1.2 搭建以太坊私有链
3.2 以太坊集成开发环境
3.2.1 Mix IDE
3.2.2 Solidity在线实时编译器
3.3 以太坊编程接口
3.3.1 JSON RPC
3.3.2 JavaScript API
3.4 DApp开发框架与流程
3.4.1 Meteor
3.4.2 Truffle
3.4.3 分层可扩展开发流程
3.5 第一个以太坊应用
3.5.1 优化MetaCoin应用
3.5.2 MetaCoin代码详解
3.5.3 MetaCoin应用运行
3.6 本章小结
第4章 Hyperledger Fabric深入解读
4.1 项目介绍
4.1.1 项目背景
4.1.2 项目简介
4.2 Fabric简介
4.3 核心概念
4.4 架构详解
4.4.1 架构解读
4.4.2 成员服务
4.4.3 区块链服务
4.4.4 合约代码服务
4.5 合约代码分析
4.5.1 合约代码概述
4.5.2 合约代码结构
4.5.3 CLI命令行调用
4.5.4 链码执行泳道图
4.6 交易流程
4.6.1 通用流程
4.6.2 流程详解
4.6.3 背书策略
4.7 本章小结
第5章 Hyperledger Fabric应用开发基础
5.1 环境部署
5.1.1 软件下载与安装
5.1.2 开发环境搭建
5.1.3 Go和Docker
5.2 链码开发指南
5.2.1 实现智能合约的接口
5.2.2 智能合约的依赖关系
5.2.3 智能合约的数据格式
5.2.4 智能合约的接口解析
5.2.5 智能合约案例代码分析
5.3 CLI应用实例
5.3.1 CLI 介绍
5.3.2 CLI 应用开发
5.4 SDK应用实例
5.4.1 SDK介绍
5.4.2 SDK应用开发
5.5 本章小结
第三部分 企业级区块链平台Hyperchain
第6章 企业级区块链平台核心原理剖析
6.1 Hyperchain整体架构
6.2 共识算法
6.2.1 RBFT概述
6.2.2 RBFT常规流程
6.2.3 RBFT视图更换
6.2.4 RBFT自动恢复
6.2.5 RBFT节点增删
6.3 智能合约
6.3.1 智能合约执行引擎
6.3.2 HyperVM设计原理
6.3.3 HyperVM执行流程
6.4 账本数据存储机制
6.4.1 区块链
6.4.2 合约状态
6.4.3 Merkle树
6.5 安全与隐私机制
6.5.1 多级加密机制
6.5.2 基于CA的权限控制
6.6 可视化监管平台
6.6.1 Hypervision概览
6.6.2 Hypervision区块链管理
6.6.3 Hypervision合约管理
6.7 本章小结
第7章 Hyperchain应用开发基础
7.1 平台功能
7.1.1 JSON-RPC格式
7.1.2 交易调用
7.1.3 合约管理
7.1.4 区块查询
7.2 平台部署
7.2.1 Hyperchain配置
7.2.2 Hyperchain部署
7.2.3 Hyperchain运行
7.3 第一个Hyperchain应用
7.3.1 编写智能合约
7.3.2 部署与合约调用
7.4 本章小结
第四部分 区块链应用案例
第8章 以太坊应用实战案例详解
8.1 基于以太坊的通用积分系统案例分析
8.1.1 项目简介
8.1.2 系统功能分析
8.1.3 系统总体设计
8.1.4 智能合约设计
8.1.5 系统实现
8.1.6 系统部署
8.2 基于以太坊的电子优惠券系统案例分析
8.2.1 项目简介
8.2.2 系统功能分析
8.2.3 系统总体设计
8.2.4 智能合约设计
8.2.5 系统实现与部署
8.3 本章小结
第9章 企业级区块链应用实战案例详解
9.1 基于Hyperchain的数字票据系统案例分析
9.1.1 项目简介
9.1.2 系统功能分析
9.1.3 系统总体设计
9.1.4 智能合约设计
9.1.5 系统实现与部署
9.2 基于Hyperchain的出行打车平台案例分析
9.2.1 项目简介
9.2.2 系统功能分析
9.2.3 系统总体设计
9.2.4 智能合约设计
9.2.5 系统实现与部署
9.3 本章小结