![]()
内容推荐 区块链技术作为当前极具影响力的重大创新技术之一,引起了全球各界人士的广泛关注。它以去中心化的方式集体维护可信数据,具有防篡改、高度可扩展等特点,是构建价值互联网的基石。 本书共8章。第1章从概念和原理上对区块的定义与数据结构、区块链的构成等进行详细描述,并介绍哈希算法、非对称加密技术与数字签名、默克尔树、共识算法、区块链分叉等内容。第2章和第3章着重介绍区块链模拟系统的构建,以及在此基础上开发的去中心化应用。第4章介绍如何利用Ganache和MetaMask在本地搭建以太坊私有网络,并进行简单的测试。第5章介绍如何利用Python版本的Web3提供的API与以太坊节点进行交互,以及如何基于Brownie框架进行区块链应用编程。第6章介绍与区块链应用紧密相关的IPFS。第7章介绍SQLite和LevelDB这两种在区块链应用中常用的嵌入式数据库。第8章在前面章节的基础上详细介绍如何开发一个基于区块链的电子证书认证系统。 本书可作为高等院校人工智能、大数据、计算机、信息安全等相关专业的教材,也可供对区块链技术感兴趣并且具有一定计算机和数学基础的人员参考使用。 作者简介 吕鉴涛,归国计算机科学博士,华中师范大学客座教授,政府特聘科技专家。曾任清华同方高级软件工程师,后出国留学,毕业后曾任加拿大联邦政府高级研究员。2013年和2016年分别入选“3551光谷人才计划”和“湖北省百人计划”等多个海外高层次人才引进计划,个人享受政府特殊引进人才津贴。回国创业后,将企业做到行业前列并在资本交易市场成功挂牌。拥有多项发明专利和软件著作权。求学和创业期间参与过多项国家重点科技支持项目。曾带领团队研发出全球首款量产的3D食品打印机并引起全国各大媒体广泛报道。2016年,带领团队荣获“英特尔智能硬件大赛全国十强”。2017年入选教育部首批优秀创新创业导师。 自2004年在国外攻读博士期间开始接触并喜欢上Python这种让人耳目一新的语言,随后在课程设计和科研项目中大量使用Python作为主要编程工具,在工作期间也长期使用Python用于数据分析和可视化。从Python 2.3开始学习和使用,至今已积累了15年以上的丰富实战经验。目前主要研究方向为大数据分析、3D打印以及人工智能技术的实际应用。 目录 第1章 区块链原理与技术基础 1.1 区块链简介 1.1.1 区块链的构成 1.1.2 区块链的运行原理与演示 1.1.3 区块链的分类 1.2 区块链技术基础 1.2.1 哈希算法 1.2.2 AES算法 1.2.3 ECDSA 1.2.4 非对称加密技术与数字签名 1.2.5 默克尔树 1.2.6 P2P技术 1.3 区块与区块链 1.3.1 区块的定义与数据结构 1.3.2 区块链的定义 1.4 去中心化与区块链共识机制 1.4.1 共识算法与PoW算法 1.4.2 区块链分叉 1.5 本章小结 1.6 习题 第2章 简单的区块链模拟系统 2.1 数据格式的定义 2.2 区块链系统结构与实现 2.2.1 区块结构的定义 2.2.2 区块与数字指纹 2.2.3 区块链结构的定义 2.2.4 PoW算法 2.2.5 发送交易 2.2.6 挖矿 2.2.7 区块上链 2.2.8 附加功能实现 2.3 区块链钱包 2.4 多节点网络 2.5 区块链模拟系统的简易的GUI功能设计与运行 2.6 本章小结 2.7 习题 第3章 基于区块链模拟系统的去中心化应用 3.1 Flask框架的安装与测试 3.1.1 VirtualEnv的安装 3.1.2 Flask的安装 3.1.3 Flask的测试 3.2 基于Flask的节点功能实现 3.2.1 节点功能API的定义 3.2.2 一致性算法 3.3 基于区块链的去中心化应用 3.3.1 去中心化应用的实现 3.3.2 去中心化应用的部署和运行 3.3.3 多节点运行 3.4 本章小结 3.5 习题 第4章 本地以太坊私有网络 4.1 以太坊简介 4.2 Ganache简介 4.2.1 GUI版Ganache的安装与设置 4.2.2 命令行版Ganache的安装与使用 4.3 MetaMask的安装、设置与使用 4.3.1 MetaMask的安装与设置 4.3.2 MetaMask的连接与交互 4.4 测试本地以太坊私有网络 4.4.1 以太坊客户端Geth的安装 4.4.2 搭建和启动单节点本地私有网络 4.4.3 搭建和启动多节点本地私有网络 4.4.4 功能测试 4.5 本章小结 4.6 习题 第5章 基于Web3和Brownie的以太坊区块链编程 5.1 Web3.py简介 5.2 基于Web3.py的以太坊编程交互 5.2.1 以太坊节点连接 5.2.2 Web3.py核心对象API简介与编程示例 5.2.3 基于Web3.pyAPI的综合应用示例 5.3 智能合约简介 5.4 智能合约在线IDE 5.4.1 Remix 5.4.2 BUIDL 5.5 基于Web3.py的智能合约部署 5.5.1 与现有智能合约进行交互 5.5.2 部署新的智能合约 5.6 基于Brownie框架的区块链应用编程 5.6.1 Brownie的安装和初始化 5.6.2 基于Brownie控制台命令的智能合约部署 5.6.3 基于Brownie框架的区块链交互 5.6.4 基于Brownie框架的Python编程 5.7 本章小结 5.8 习题 第6章 区块链与IPFS 6.1 IPFS简介 6.2 IPFS和区块链的主要区别与关联 6.3 IPFS的安装与使用 6.3.1 IPFS的安装与初始化 6.3.2 IPFS常用命令与用法示例 6.4 IPFS与Python编程 6.4.1 IPFSAPI的安装与启动 6.4.2 基于Python的IPFS编程交互 6.5 本章小结 6.6 习题 第7章 区块链应用与嵌入式数据库 7.1 SQLite数据库 7.1.1 SQLite常用API简介 7.1.2 SQLite编程应用示例 7.2 LevelDB数据库 7.2.1 LevelDB的安装 7.2.2 LevelDB编程应用示例 7.3 本章小结 7.4 习题 第8章 基于区块链的电子证书认证系统 8.1 技术准备 8.1.1 基于PDFMiner的PDF文档内容解析 8.1.2 PDF文档元数据的添加与修改 8.1.3 PDF文档字段的读取与填充 8.2 基于区块链的电子证书认证系统设计 8.2.1 系统逻辑功能设计 8.2.2 系统UI设计 8.3 电子证书签署与上链 8.3.1 电子证书签署 8.3.2 电子证书数据上链存证 8.4 电子证书真伪验证 8.4.1 简历解析 8.4.2 电子证书与简历数据真实性验证 8.5 电子证书撤销 8.6 视图函数的实现 8.7 系统运行与功能测试 8.7.1 电子证书批量签署与上链功能测试 8.7.2 简历与电子证书数据验证功能测试 8.7.3 综合信息查询功能测试 8.7.4 电子证书撤销功能测试 8.8 本章小结 8.9 习题 |