随书资源 目录 第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.1HDFS 2.1.1HDFS概述 2.1.2HDFS架构 2.1.3HDFS数据存储 2.1.4HDFS数据读取 2.1.5数据错误与恢复 2.2Storj 2.2.1Storj概述 2.2.2Storj架构 2.2.3Storj用户端上传文件流程 2.2.4Storj用户端下载文件流程 2.2.5Storj数据冗余 2.3IPFS 2.3.1IPFS概述 2.3.2IPFS分层架构 2.3.3IPFS数据存取 2.4Filecoin 2.4.1Filecoin概述 2.4.2Filecoin架构 2.4.3Filecoin的运行机制 2.5分布式文件系统的比较 2.5.1整体架构比较 2.5.2持久性比较 2.5.3伸缩性比较 小结 习题 第3章区块链核心密码学技术 3.1哈希算法 3.1.1哈希函数简介 3.1.2SHA256算法 3.2Merkle树(默克尔树) 3.2.1Merkle树基本概念 3.2.2Merkle树构造过程 3.2.3Merkle树检索过程 3.3数据加密技术 3.3.1非对称加密 3.3.2数字签名 3.3.3时间戳技术 3.3.4零知识证明 3.4数字签名算法 3.4.1RSA数字签名算法 3.4.2DSA(数字签名算法) 3.4.3ECDSA 3.5PKI 3.5.1PKI简介 3.5.2PKI组成 3.5.3PKI相关标准 3.5.4PKI关键技术 3.5.5PKI功能 小结 习题 第4章区块链常见共识算法 4.1问题与挑战 4.1.1区块链共识机制 4.1.2两军问题 4.1.3拜占庭将军问题 4.2共识算法分类 4.3常用共识算法 4.3.1PoW算法 4.3.2PoS算法 4.3.3DPoS算法 4.3.4PBFT算法 4.3.5Raft算法 4.3.6共识算法比较 小结 习题 第5章超级账本开源项目 5.1超级账本项目简介 5.2超级账本浏览器 5.2.1超级账本浏览器部署 5.2.2使用区块链浏览器 小结 习题 第6章Fabric入门 6.1Fabric概述 6.1.1Fabric面向企业应用的特点 6.1.2Fabric逻辑架构 6.1.3Fabric运行时架构 6.2Fabric核心概念 6.2.1Fabric网络 6.2.2节点 6.2.3账本 6.2.4组织、联盟与通道 6.2.5网络与通道配置 6.2.6策略 6.2.7智能合约和链码 6.3Fabric用户注册和交易流程 6.3.1用户注册 6.3.2交易流程详解 小结 习题 第7章实践环境准备 7.1准备基本环境 7.1.1虚拟机软件安装 7.1.2Ubuntu 18.04操作系统安装 7.1.3VMware Tools安装 7.2安装工具软件 7.2.1Git 7.2.2cURL 7.2.3Docker和DockerCompose 7.2.4Go 7.2.5Node.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.3Docker配置与启动 8.2.4通道创建与节点加入 8.2.5动态添加与移除组织和节点 8.3Fabcar智能合约安装与部署 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.2shim接口函数 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.4IoT设备管理平台系统运行 12.4.1初始化时尚中心的管理员 12.4.2管理员注册时尚中心设备权限项信息 12.4.3注册用户信息 12.4.4绑定用户权限信息 12.4.5用户上传和查询设备的基础信息 小结 习题 附录A基于SHA256算法实现的Merkle树代码(Java语言版) 参考文献 开源项目