-
内容大纲
本书系统地介绍了区块链的基本理论与核心技术,以联盟链为切入点,着重介绍了Fabric项目的运行架构与智能合约的开发方法,并通过三个不同类型的实践项目进行了区块链应用的落地。
全书共分为三部分,第一部分(第1~4章)为区块链基础知识,主要介绍区块链技术的基本概念、原理、发展历史、应用场景及核心技术;第二部分(第5~9章)为联盟链基础,主要介绍超级账本开源项目,聚焦于业界影响力比较大的超级账本Fabric项目,以Fabric体系架构为核心,延展出相关核心概念,同时介绍了项目开发与运行环境的准备,深入剖析官网提供的应用实例Fabcar,并以实例的形式讲解了智能合约的开发;第三部分(第10~12章)为项目实践,包括3个实践项目,分别从解决多方信任与监督问题、多人协同业务流程,以及数据确权管理与共享的角度落地区块链的应用。项目从简单到复杂,由需求入手,一步一步搭建Fabric网络,运行网络,并根据前期的需求构建业务逻辑链码,最后进行测试,真正掌握用Fabric开发项目。
本书适合作为高等院校计算机相关专业学生教材,学习者需要具备一定的计算机程序开发经验,也可供区块链技术爱好者和智能合约开发的相关从业人员参考,或者作为区块链培训机构相关课程的培训教材。 -
作者介绍
-
目录
第1章 区块链技术概述
1.1 区块链核心概念与原理
1.1.1 区块链及发展历史
1.1.2 区块链运作机制
1.2 区块链的分类与比较
1.2.1 按准入机制分类
1.2.2 按对接类型分类
1.2.3 按独立程度分类
1.2.4 按应用范围分类
1.2.5 按层级关系分类
1.3 区块链技术架构的演变
1.3.1 区块链1.0
1.3.2 区块链2.0
1.3.3 区块链3.0
1.4 区块链应用场景
小结
习题
第2章 分布式存储技术
2.1 HDFS
2.1.1 HDFS概述
2.1.2 HDFS架构
2.1.3 HDFS数据存储
2.1.4 HDFS数据读取
2.1.5 数据错误与恢复
2.2 Storj
2.2.1 Storj概述
2.2.2 Storj架构
2.2.3 Storj用户端上传文件流程
2.2.4 Storj用户端下载文件流程
2.2.5 Storj数据冗余
2.3 IPFS
2.3.1 IPFS概述
2.3.2 IPFS分层架构
2.3.3 IPFS数据存取
2.4 Filecoin
2.4.1 Filecoin概述
2.4.2 Filecoin架构
2.4.3 Filecoin的运行机制
2.5 分布式文件系统的比较
2.5.1 整体架构比较
2.5.2 持久性比较
2.5.3 伸缩性比较
小结
习题
第3章 区块链核心密码学技术
3.1 哈希算法
3.1.1 哈希函数简介
3.1.2 SHA256算法
3.2 Merkle树(默克尔树)
3.2.1 Merkle树基本概念
3.2.2 Merkle树构造过程
3.2.3 Merkle树检索过程
3.3 数据加密技术
3.3.1 非对称加密
3.3.2 数字签名
3.3.3 时间戳技术
3.3.4 零知识证明
3.4 数字签名算法
3.4.1 RSA数字签名算法
3.4.2 DSA(数字签名算法)
3.4.3 ECDSA
3.5 PKI
3.5.1 PKI简介
3.5.2 PKI组成
3.5.3 PKI相关标准
3.5.4 PKI关键技术
3.5.5 PKI功能
小结
习题
第4章 区块链常见共识算法
4.1 问题与挑战
4.1.1 区块链共识机制
4.1.2 两军问题
4.1.3 拜占庭将军问题
4.2 共识算法分类
4.3 常用共识算法
4.3.1 PoW算法
4.3.2 PoS算法
4.3.3 DPoS算法
4.3.4 PBFT算法
4.3.5 Raft算法
4.3.6 共识算法比较
小结
习题
第5章 超级账本开源项目
5.1 超级账本项目简介
5.2 超级账本浏览器
5.2.1 超级账本浏览器部署
5.2.2 使用区块链浏览器
小结
习题
第6章 Fabric入门
6.1 Fabric概述
6.1.1 Fabric面向企业应用的特点
6.1.2 Fabric逻辑架构
6.1.3 Fabric运行时架构
6.2 Fabric核心概念
6.2.1 Fabric网络
6.2.2 节点
6.2.3 账本
6.2.4 组织、联盟与通道
6.2.5 网络与通道配置
6.2.6 策略
6.2.7 智能合约和链码
6.3 Fabric用户注册和交易流程
6.3.1 用户注册
6.3.2 交易流程详解
小结
习题
第7章 实践环境准备
7.1 准备基本环境
7.1.1 虚拟机软件安装
7.1.2 Ubuntu 18.04操作系统安装
7.1.3 VMware Tools安装
7.2 安装工具软件
7.2.1 Git
7.2.2 cURL
7.2.3 Docker和Docker-Compose
7.2.4 Go
7.2.5 Node.js和NPM
7.3 安装Fabric运行环境
7.3.1 拉取Fabric项目
7.3.2 安装Fabric示例
7.4 运行Fabric测试网络
7.4.1 启动测试网络
7.4.2 查看测试网络节点
7.4.3 创建通道并安装链码
7.4.4 网络交互
7.4.5 关闭网络
小结
习题
第8章 Fabcar应用程序解析
8.1 业务场景
8.1.1 业务场景描述
8.1.2 业务接口分析
8.2 建立并启动区块链网络
8.2.1 生成组织结构与身份证书
8.2.2 生成通道配置文件
8.2.3 Docker配置与启动
8.2.4 通道创建与节点加入
8.2.5 动态添加与移除组织和节点
8.3 Fabcar智能合约安装与部署
8.3.1 智能合约开发
8.3.2 智能合约打包安装
8.3.3 智能合约调用测试
8.4 注册用户
8.4.1 注册管理用户
8.4.2 注册应用程序用户
8.5 链下应用程序
8.5.1 调用invoke.js接口
8.5.2 调用query.js接口
小结
习题
第9章 智能合约开发详解
9.1 智能合约简介
9.1.1 智能合约概述
9.1.2 智能合约运行机制
9.2 智能合约开发
9.2.1 智能合约基本结构
9.2.2 shim接口函数
9.2.3 智能合约开发注意事项
9.3 智能合约开发实例
9.3.1 项目背景
9.3.2 角色分析
9.3.3 业务场景分析
9.3.4 功能需求分析
9.3.5 区块链网络规划和设计
9.3.6 智能合约的业务接口设计
9.3.7 智能合约实现
9.3.8 智能合约部署和系统运行
小结
习题
第10章 公益捐助平台
10.1 系统分析
10.1.1 项目背景
10.1.2 角色分析
10.1.3 业务场景分析
10.1.4 需求分析
10.2 系统总体设计
10.2.1 区块链网络规划设计
10.2.2 智能合约设计
10.3 智能合约实现与部署
10.3.1 智能合约的实现
10.3.2 智能合约的部署
10.4 系统运行
小结
习题
第11章 CAD图纸多人协同设计系统
11.1 系统分析
11.1.1 项目背景
11.1.2 业务场景分析
11.1.3 需求分析
11.2 系统总体设计
11.2.1 区块链网络规划设计
11.2.2 智能合约设计
11.3 智能合约的实现与部署
11.3.1 智能合约的实现
11.3.2 智能合约的部署
11.4 系统运行
小结
习题
第12章 IoT设备管理平台
12.1 系统分析
12.1.1 项目背景
12.1.2 角色分析
12.1.3 业务场景分析
12.1.4 功能需求分析
12.2 系统总体设计
12.2.1 区块链网络设计
12.2.2 智能合约设计
12.3 智能合约的实现与部署
12.3.1 智能合约的实现
12.3.2 智能合约的部署
12.4 IoT设备管理平台系统运行
12.4.1 初始化时尚中心的管理员
12.4.2 管理员注册时尚中心设备权限项信息
12.4.3 注册用户信息
12.4.4 绑定用户权限信息
12.4.5 用户上传和查询设备的基础信息
小结
习题
附录A 基于SHA256算法实现的Merkle树代码(Java语言版)
参考文献
开源项目
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-

孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-

时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-

本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...
[
