区块链轻松上手:原理、源码、搭建与应用
出版时间:2018
内容简介
《区块链轻松上手:原理、源码、搭建与应用》首先从以比特币为代表的数字货币的历史与现状开始,讲解区块链的概念、生态、底层技术与架构;然后讲解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