书刊介绍
《区块链开发实战》内容简介
本书以HyperledgerFabric和比特币这两个典型区块链技术平台的核心技术、开发方法和相关的项目案例为核心内容,还提供了大量的命令脚本和代码示例供读者参考,力图使读者在短的时间内掌握这两个平台的使用方法。本书首先从基本认识的角度对区块链进行了宏观上的介绍,然后讲解了HyperledgerFabric的核心技术、原理、开发方法,以及多个项目案例,后讲解了比特币的原理、运行方式、重要模块和编程接口等内容,环环相扣,结构紧密,体系严谨。
冯翔著。作品目录
前言
第1章:全面认识区块链
1.1、区块链技术的起源和解释
1.2、区块链的核心技术及其特性
1.2.1、区块链技术的特性
1.2.2、区块链的分布式存储技术特性
1.2.3、区块链的密码学技术特性
1.2.4、区块链中的共识机制
1.2.5、区块链中的智能合约
1.3、区块链技术演进过程
1.4、区块链技术的3个缺点
1.5、区块链技术常见的4个错误认识
1.6、区块链技术的应用领域
1.6.1、区块链在金融行业的应用
1.6.2、区块链在供应链中的应用
1.6.3、区块链在公证领域的应用
1.6.4、区块链在数字版权领域的应用
1.6.5、区块链在保险行业的应用
1.6.6、区块链在公益慈善领域的应用
1.6.7、区块链与智能制造
1.6.8、区块链在教育就业中的应用
1.7、区块链的其他常见技术框架
1.8、本章小结
第2章:实战准备
2.1、开发环境准备
2.1.1、操作系统的配置
2.1.2、Docker的使用
2.1.3、Git的使用
2.2、开发语言
2.2.1、GO语言
2.2.2、Node.js
2.3、常用工具
2.3.1、Curl
2.3.2、tree
2.3.3、Jq
2.4、本章小结
第3章:Hyperledger简介
3.1、Hyperledger综述
3.1.1、Hyperledger的项目背景
3.1.2、Hyperledger的项目成员
3.2、Hyperledger的体系结构
3.2.1、获取Hyperledger源代码并成为开发者
3.2.2、Hyperledger的9个正式项目
3.3、本章小结
第4章:Fabric快速入门
4.1、Fabric的技术特性
4.1.1、Fabric的多账本特性
4.1.2、Fabric的智能合约
4.1.3、Fabric的权限系统
4.1.4、Fabric的共识算法
4.2、Hyperledger中与Fabric相关的项目
4.3、Fabric的模块、安装和使用
4.3.1、Fabric的编译和安装
4.3.2、Fabric模块安装结果检查
4.3.3、利用Docker运行Fabric相关模块
4.4、快速运行一个简单的Fabric网络
4.4.1、Fabric环境准备
4.4.2、生成Fabric需要的证书文件
4.4.3、创始块的生成
4.4.4、Orderer节点的启动
4.4.5、Peer节点的启动
4.4.6、创建通道
4.4.7、Chaincode的部署和调用
4.5、本章小结
第5章:Fabric核心模块详解
5.1、Fabric的核心模块功能、通用选项和命令
5.1.1、Fabric核心模块及其功能
5.1.2、Fabric模块的通用选项和命令
5.2、Fabric模块的子命令、选项和配置文件
5.2.1、cryptogen
5.2.2、configtxgen
5.2.3、configtxlator
5.2.4、orderer
5.2.5、peer
5.3、Fabric模块在系统中的作用
5.3.1、peer模块在Fabric系统中的作用
5.3.2、orderer模块在Fabric系统中的作用
5.4、Fabric数据安全传输的方式
5.4.1、Fabric中orderer模块TLS设置
5.4.2、Fabric中peer模块TLS设置
5.5、本章小结
第6章:Fabric的账号体系
6.1、Fabric账号简介
6.1.1、Fabric账号是什么
6.1.2、什么地方需要使用Fabric的账号
6.2、基于cryptogen的账号管理体系
6.3、Fabric账号服务器:Fabric-ca
6.3.1、Fabric-ca的编译和安装
6.3.2、fabric-ca-server的启动和配置
6.3.3、fabric-ca-client的使用
6.4、将fabric-ca-server绑定到现有项目中
6.5、本章小结
第7章:Fabric的智能合约详解
7.1、Chaincode初探
7.2、快速编写和运行一个Chaincode
7.3、Golang版本的Chaincode的代码结构
7.3.1、Chaincode源代码的基本结构
7.3.2、shim包的核心方法
7.3.3、ChaincodeStubInterface接口中的核心方法
7.4、Chaincode相关的操作命令和选项
7.5、如何通过Chaincode进行交易的endorse
7.6、Chaincode的调试方法
7.6.1、Chaincode在Docker容器之外的运行
7.6.2、Chaincode在IDE中的调试
7.7、本章小结
第8章:Fabric和Fabric-ca的编程接口
8.1、Fabric接口的通信协议和功能划分
8.2、Fabric
Nodejs
SDK的使用
8.2.1、如何获取Fabric
Nodejs
SDK源代码
8.2.2、快速构建基于Nodejs的Fabric客户端
8.2.3、Fabric
Nodejs
SDK中TLS的设置
8.3、Fabric
Java
SDK
8.3.1、Fabric
Java
SDK的安装
8.3.2、Fabric
Java
SDK的常用接口
8.3.3、Fabirc
Java
SDK中TLS的设置
8.4、Fabric
Go
SDK
8.4.1、Fabric
Golang的安装
8.4.2、创建配置文件
8.4.3、一个简单的Golang访问Fabric的例子
8.4.4、Fabric
Golang
SDK其他用法
8.4.5、Fabric
Golang
SDK的背书操作
8.5、本章小结
第9章:Fabric系统架构设计
9.1、Fabric架构中的组织规划
9.1.1、确认组织
9.1.2、组织的管理方式
9.2、Fabric系统的结构
9.2.1、Fabric系统的逻辑结构
9.2.2、Fabric系统的物理结构
9.3、Fabric中Channel的设计
9.4、Chaincode
9.5、数据访问层
9.6、历史遗留系统的兼容
9.7、Fabric系统的维护和管理
9.8、本章小结
第10章:Fabric开发实战:开发流程与实例详解
10.1、Fabric项目的开发流程
10.2、Fabric项目开发实例详解
10.2.1、系统初始化
10.2.2、Orderer节点的初始化和启动
10.2.3、启动第一个Peer
10.2.4、Channel的创建和加入
10.2.5、启动当前组织的Fabric-ca
10.2.6、测试Chaincode的部署和开发
10.2.7、客户端的开发
10.2.8、启动本组织的其他Peer
10.2.9、其他组织Peer节点的加入
10.2.10、背书交易的测试
10.2.11、非初始化组织的加入
10.3、本章小结
第11章:基于Fabric的区块链浏览器项目实战
11.1、项目介绍
11.2、开发过程
11.2.1、项目准备
11.2.2、项目开发
11.3、本章小结
第12章:基于Fabric的供应链金融项目实战
12.1、供应链金融的背景知识和痛点
12.1.1、供应链金融的背景知识
12.1.2、供应链金融的痛点
12.1.3、用Fabric解决供应链金融痛点的方法
12.2、用Fabric构建供应链金融系统的方法
12.2.1、系统的设计
12.2.2、系统环境搭建
12.2.3、客户端开发
12.3、本章小结
第13章:基于Fabric的食品溯源项目实战
13.1、数据溯源的背景知识和痛点
13.1.1、数据溯源的背景知识
13.1.2、数据溯源的痛点
13.2、Fabric如何优化数据溯源系统
13.3、Fabric如何构建数据溯源系统
13.3.1、系统环境搭建
13.3.2、客户端开发
13.4、本章小结
附录A
比特币的原理和运行方式
附录B
比特币的bitcoin-cli模块详解
附录C
比特币系统的编程接口
C.1、比特币RESTAPI接口的启动
C.2、通过API接口发起交易
C.3、本章小结
附录D
比特币系统客户端项目实战
D.1、项目背景
D.2、项目实施过程
D.3、本章小结
附录E
区块链相关术语