Python语言区块链开发实战

区块链领域精品力作,“十四五”时期国家重点出版物出版专项规划图书,基于实战案例,剖析算法原理,配套丰富资源,助力读者自学。
分享 推荐 4 收藏 140 阅读 5.0K
吕鉴涛 (作者) 978-7-115-58849-4

关于本书的内容有任何问题,请联系 人邮社 王宣

【内容特点】
(1)基于工程代码,剖析区块链主要算法与底层原理。
(2)详解实战案例,系统介绍区块链去中心化应用的开发流程。
(3)提供微课视频等资源,助力读者轻松理解重点、难点知识。
【资源特点】配套PPT、教学大纲、源代码、习题答案、微课视频等。
【服务特点】作者提供微信教师服务与交流群等支持。

特别说明

“十四五”时期国家重点出版物出版专项规划图书!

内容摘要

→ 区块链技术作为当前极具影响力的重大创新技术之一,引起了全球各界人士的广泛关注。它以去中心化的方式集体维护可信数据,具有防篡改、高度可扩展等特点,是构建价值互联网的基石。
→ 本书共8章。第1章从概念和原理上对区块的定义与数据结构、区块链的构成等进行详细描述,并介绍哈希算法、非对称加密技术与数字签名、默克尔树、共识算法、区块链分叉等内容。第2章和第3章着重介绍区块链模拟系统的构建,以及在此基础上开发的去中心化应用。第4章介绍如何利用Ganache和MetaMask在本地搭建以太坊私有网络,并进行简单的测试。第5章介绍如何利用Python版本的Web3提供的API与以太坊节点进行交互,以及如何基于Brownie框架进行区块链应用编程。第6章介绍与区块链应用紧密相关的IPFS。第7章介绍SQLite和LevelDB这两种在区块链应用中常用的嵌入式数据库。第8章在前面章节的基础上详细介绍如何开发一个基于区块链的电子证书认证系统。
→ 本书可作为高等院校人工智能、大数据、计算机、信息安全等相关专业的教材,也可供对区块链技术感兴趣并且具有一定计算机和数学基础的人员参考使用。

诚邀您加入【人邮社Python教师交流群】

目录

【章名目录】
第1章 区块链原理与技术基础
第2章 简单的区块链模拟系统
第3章 基于区块链模拟系统的去中心化应用
第4章 本地以太坊私有网络
第5章 基于Web3和Brownie的以太坊区块链编程
第6章 区块链与IPFS
第7章 区块链应用与嵌入式数据库
第8章 基于区块链的电子证书认证系统

【详细目录】

第1章 区块链原理与技术基础
1.1 区块链简介 1
1.1.1 区块链的构成 2
1.1.2 区块链的运行原理与演示 3
1.1.3 区块链的分类 9
1.2 区块链技术基础 9
1.2.1 哈希算法 9
1.2.2 AES算法 13
1.2.3 ECDSA 15
1.2.4 非对称加密技术与数字签名 17
1.2.5 默克尔树 21
1.2.6 P2P技术 24
1.3 区块与区块链 25
1.3.1 区块的定义与数据结构 25
1.3.2 区块链的定义 27
1.4 去中心化与区块链共识机制 30
1.4.1 共识算法与PoW算法 30
1.4.2 区块链分叉 32
1.5 本章小结 34
1.6 习题 34

第2章 简单的区块链模拟系统
2.1 数据格式的定义 35
2.2 区块链系统结构与实现 37
2.2.1 区块结构的定义 37
2.2.2 区块与数字指纹 37
2.2.3 区块链结构的定义 38
2.2.4 PoW算法 39
2.2.5 发送交易 39
2.2.6 挖矿 40
2.2.7 区块上链 40
2.2.8 附加功能实现 41
2.3 区块链钱包 45
2.4 多节点网络 47
2.5 区块链模拟系统的简易的GUI功能设计与运行 52
2.6 本章小结 57
2.7 习题 58

第3章 基于区块链模拟系统的去中心化应用
3.1 Flask框架的安装与测试 59
3.1.1 VirtualEnv的安装 59
3.1.2 Flask的安装 60
3.1.3 Flask的测试 60
3.2 基于Flask的节点功能实现 62
3.2.1 节点功能API的定义 62
3.2.2 一致性算法 65
3.3 基于区块链的去中心化应用 69
3.3.1 去中心化应用的实现 69
3.3.2 去中心化应用的部署和运行 74
3.3.3 多节点运行 76
3.4 本章小结 79
3.5 习题 80

第4章 本地以太坊私有网络
4.1 以太坊简介 81
4.2 Ganache简介 81
4.2.1 GUI版Ganache的安装与设置 82
4.2.2 命令行版Ganache的安装与使用 85
4.3 MetaMask的安装、设置与使用 86
4.3.1 MetaMask的安装与设置 86
4.3.2 MetaMask的连接与交互 90
4.4 测试本地以太坊私有网络 94
4.4.1 以太坊客户端Geth的安装 94
4.4.2 搭建和启动单节点本地私有网络 94
4.4.3 搭建和启动多节点本地私有网络 99
4.4.4 功能测试 100
4.5 本章小结 104
4.6 习题 104

第5章 基于Web3和Brownie的以太坊区块链编程
5.1 Web3.py简介 105
5.2 基于Web3.py的以太坊编程交互 105
5.2.1 以太坊节点连接 106
5.2.2 Web3.py核心对象API简介与编程示例 106
5.2.3 基于Web3.py API的综合应用示例 112
5.3 智能合约简介 115
5.4 智能合约在线IDE 117
5.4.1 Remix 117
5.4.2 BUIDL 124
5.5 基于Web3.py的智能合约部署 126
5.5.1 与现有智能合约进行交互 126
5.5.2 部署新的智能合约 128
5.6 基于Brownie框架的区块链应用编程 131
5.6.1 Brownie的安装和初始化 131
5.6.2 基于Brownie控制台命令的智能合约部署 133
5.6.3 基于Brownie框架的区块链交互 136
5.6.4 基于Brownie框架的Python编程 140
5.7 本章小结 143
5.8 习题 143

第6章 区块链与IPFS
6.1 IPFS简介 144
6.2 IPFS和区块链的主要区别与关联 145
6.3 IPFS的安装与使用 147
6.3.1 IPFS的安装与初始化 147
6.3.2 IPFS常用命令与用法示例 148
6.4 IPFS与Python编程 154
6.4.1 IPFS API的安装与启动 154
6.4.2 基于Python的IPFS编程交互 155
6.5 本章小结 158
6.6 习题 158

第7章 区块链应用与嵌入式数据库
7.1 SQLite数据库 160
7.1.1 SQLite常用API简介 160
7.1.2 SQLite编程应用示例 161
7.2 LevelDB数据库 163
7.2.1 LevelDB的安装 163
7.2.2 LevelDB编程应用示例 164
7.3 本章小结 168
7.4 习题 168

第8章 基于区块链的电子证书认证系统
8.1 技术准备 169
8.1.1 基于PDFMiner的PDF文档内容解析 169
8.1.2 PDF文档元数据的添加与修改 171
8.1.3 PDF文档字段的读取与填充 173
8.2 基于区块链的电子证书认证系统设计 175
8.2.1 系统逻辑功能设计 176
8.2.2 系统UI设计 177
8.3 电子证书签署与上链 188
8.3.1 电子证书签署 188
8.3.2 电子证书数据上链存证 192
8.4 电子证书真伪验证 204
8.4.1 简历解析 204
8.4.2 电子证书与简历数据真实性验证 208
8.5 电子证书撤销 213
8.6 视图函数的实现 214
8.7 系统运行与功能测试 219
8.7.1 电子证书批量签署与上链功能测试 219
8.7.2 简历与电子证书数据验证功能测试 220
8.7.3 综合信息查询功能测试 222
8.7.4 电子证书撤销功能测试 223
8.8 本章小结 224
8.9 习题 224

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

吕鉴涛:
博士,华中师范大学客座教授,政府特聘科技专家,享受政府特殊津贴;曾任北京中关村IT企业高级软件工程师,后留学加拿大攻读计算机科学博士学位,毕业后回国创业;因个人成长经历及创业成绩突出,于2013年和2016年先后入选武汉市“3551光谷人才计划”和湖北省“百人计划”(海外高层次人才引进计划),并获政府奖励;拥有多项发明专利和软件著作权,著有多部中、英文专著;创业公司旗下的产品曾获2016年英特尔“智能硬件大赛”全国十强以及百度“蝶变行动——生产制造行业之星”等奖项。

推荐用户

相关图书

人邮微信
本地服务
教师服务
教师服务
读者服务
读者服务
返回顶部
返回顶部