Rust语言区块链开发实战

“十四五”时期国家重点出版物,Rust语言区块链开发实战教程,知识体系科学,理实紧密结合,配套资源丰富。
分享 推荐 0 收藏 1 阅读 279
薛志东 (主编) 区士颀 , 章许超 (副主编) 978-7-115-66635-2

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

1.知识体系布局科学,内容讲解由浅入深
本书根据区块链领域应用型人才培养要求,构建了既讲解区块链基础理论,又涉及Rust 语言编程,还包含采用 Substrate 框架开发应用的知识体系,内容安排上从基础技术到高级应用,循序渐进、由浅入深,适合零基础读者学习,也能满足具有一定开发经验的开发者的进阶需求。
2.理论实践紧密结合,促进锤炼实战能力
本书不仅讲解理论知识,而且通过详细的代码示例和开发实例来帮助读者掌握实践技能。此外,大部分章节均包含大量的实例和实战项目,特别是最后一章通过开发 Substrate Kitties 项目,读者可以扎实锤炼将理论知识转化为实际成果的应用能力。
3.配套教辅资源丰富,助力培养拔尖人才
编者为本书配套了 PPT 课件、教学大纲、教案、习题答案等资源,同时还提供了与本书示例和实例相关的源代码和实践指南,院校教师可以通过人邮教育社区(www.ryjiaoyu.com)下载使用。
¥59.80 ¥50.83 (8.5 折)

内容摘要

本书从区块链、Rust语言讲起,到基于Rust的网络编程,再到使用Rust实现一个区块链原型,最后讲解基于Rust和Substrate的区块链开发实例,内容循序渐进,结构清晰合理。本书分为基础技术和高级应用两部分。第1~3章为基础技术部分,主要介绍了区块链基础、Rust语言的语法特征和高级特性,包括所有权、切片和泛型等,并给出了充足的案例。第4~8章为高级应用部分,在Rust工程化的基础上实现了一个区块链原型,并使用Substrate框架简化了区块链开发流程,以实现快速开发;还通过丰富的实例,进一步巩固读者对Rust和区块链相关知识的理解。本书着重介绍基本概念和基本原理,侧重应用实操,突出工程实践,力图做到基本概念准确、条理清晰、内容精练、重点突出、理论联系实际。
本书可作为软件工程、计算机科学与技术、工程管理、数据科学与大数据技术等专业的“区块链”相关课程教材,也可供相关领域的科技人员参考使用。

目录

【章名目录】
第 1章 绪论
第 2章 Rust语言基础
第3章 Rust语言进阶
第4章 初识Substrate框架
第5章 账户地址与共识机制
第6章 交易、存储与链下操作
第7章 智能合约
第8章 Substrate开发实例——Substrate Kitties

【详细目录】
第 1章 绪论
1.1 区块链的产生、发展阶段与分类 1
1.1.1 区块链的产生 1
1.1.2 区块链的发展阶段 2
1.1.3 区块链的分类 4
1.2 区块链的基础技术 6
1.2.1 区块链的相关概念 6
1.2.2 密码学基础 7
1.2.3 共识算法 9
1.2.4 智能合约 11
1.2.5 P2P网络 12
1.3 代表性系统与框架 14
1.3.1 比特币系统 14
1.3.2 以太坊 16
1.3.3 超级账本 17
1.3.4 长安链 19
1.3.5 Substrate和Polkadot网络 20
1.4 Rust环境安装与配置 21
1.4.1 在Windows上安装Rust 21
1.4.2 在Linux或macOS上安装Rust 23
1.4.3 安装Visual Studio Code 23
1.4.4 第 一个Rust项目 24
1.4.5 认识Cargo 25
1.5 本章小结 26
1.6 习题 26

第 2章 Rust语言基础
2.1 Rust语言简介 27
2.1.1 Rust的主要设计目标 27
2.1.2 Rust适用的应用开发场景 27
2.2 通用的编程概念 28
2.2.1 变量 28
2.2.2 数据类型 28
2.2.3 函数 30
2.2.4 控制流 31
2.3 所有权 33
2.3.1 变量与数据交互的方式 34
2.3.2 引用与借用 35
2.3.3 切片 37
2.4 Rust结构体 38
2.4.1 结构体类型的定义 38
2.4.2 结构体类型变量的定义 39
2.4.3 结构体类型变量的引用 39
2.4.4 结构体方法 39
2.5 Rust枚举 40
2.5.1 枚举类型的定义 40
2.5.2 使用枚举 41
2.5.3 Option枚举 43
2.5.4 match语句 43
2.6 本章小结 46
2.7 习题 46

第3章 Rust语言进阶
3.1 Rust组织管理 48
3.1.1 Rust中模块的定义 48
3.1.2 公开的模块和公开的函数 50
3.1.3 创建公有的结构体和枚举 50
3.1.4 use关键字 51
3.2 通用的集合类型 52
3.2.1 Vector 52
3.2.2 字符串 54
3.2.3 散列表 57
3.3 泛型与Traits 59
3.3.1 泛型 59
3.3.2 Traits 61
3.4 Rust多线程并发编程 62
3.5 用于区块链开发的Rust包 63
3.6 本章小结 66
3.7 习题 66

第4章 初识Substrate框架
4.1 Substrate入门 68
4.1.1 Substrate的组成架构 68
4.1.2 使用Substrate框架构建区块链网络的方式 69
4.2 构建第 一条Substrate链 70
4.2.1 环境配置 70
4.2.2 编译启动Substrate节点模板 72
4.2.3 使用前端模板交互 75
4.2.4 使用其他方式交互 78
4.2.5 节点模板的结构 82
4.3 为运行时导入一个Pallet 85
4.3.1 Pallet和Frame的概念 85
4.3.2 导入Nicks Pallet 86
4.3.3 设置Nicks Pallet 88
4.3.4 与Nicks Pallet交互 91
4.4 本章小结 94
4.5 习题 94

第5章 账户地址与共识机制
5.1 密码学基础 95
5.1.1 加密算法 95
5.1.2 Substrate中的密码学 97
5.2 账户、地址与密钥 99
5.2.1 账户与地址结构 99
5.2.2 账户类型与密钥 101
5.3 SS58地址规范 102
5.3.1 Subkey 102
5.3.2 地址格式与地址验证 104
5.4 共识机制 106
5.4.1 分叉选择与最终化 106
5.4.2 区块生成与最终化 108
5.4.3 默认的共识机制 108
5.5 区块链网络实验 110
5.5.1 模拟网络 110
5.5.2 创建专有网络 114
5.5.3 创建许可网络 116
5.6 本章小结 120
5.7 习题 120

第6章 交易、存储与链下操作
6.1 交易 121
6.1.1 交易的定义 121
6.1.2 交易池与交易优先级 122
6.1.3 交易的生命周期 123
6.2 存储 125
6.2.1 存储的结构 125
6.2.2 存储的使用 128
6.2.3 SCALE编解码器 129
6.3 链下操作 132
6.3.1 链下操作的概念与原理 132
6.3.2 使用链下工作机提交交易 134
6.4 DApp开发 139
6.4.1 创建前的准备工作 139
6.4.2 创建PoE Pallet 140
6.4.3 与DApp交互 145
6.4.4 创建自定义前端 147
6.4.5 发布自定义的Pallet 151
6.5 本章小结 151
6.6 习题 152

第7章 智能合约
7.1 智能合约简介 153
7.1.1 智能合约的概念与优势 153
7.1.2 智能合约与运行时Pallet 154
7.1.3 Wasm、以太坊虚拟机与执行器 156
7.2 ink!入门 160
7.2.1 为什么选择Rust/ink!开发智能合约 161
7.2.2 环境安装 163
7.2.3 ink!使用 164
7.2.4 智能合约模板解析 168
7.3 ink!实现ERC20标准代币 171
7.3.1 ERC20标准 171
7.3.2 实验指南 172
7.4 本章小结 179
7.5 习题 180

第8章 Substrate开发实例——Substrate Kitties
8.1 开发概述 181
8.1.1 加密猫简介 181
8.1.2 获取开发模板 181
8.2 基础功能开发 182
8.2.1 创建Pallet框架 182
8.2.2 定义相关的数据结构 184
8.2.3 定义存储 186
8.2.4 生成函数 187
8.2.5 处理错误 188
8.2.6 测试功能 189
8.3 与链上玩家交互 190
8.3.1 设置价格 190
8.3.2 转让 191
8.3.3 出售与购买 192
8.3.4 繁殖 194
8.3.5 测试功能 194
8.4 本章小结 196
8.5 习题 196

读者评论

赶紧抢沙发哦!

我要评论

作者介绍

薛志东:
华中科技大学软件学院教学科研并重岗教授(研究员),博士生导师,主要研究领域包含基于区块链的应用安全、大数据与人工智能应用、智能软件技术及生物信息处理等。主持国家自然科学基金、华为技术有限公司委托项目等多个科研项目;主持编写大数据、区块链相关教材4本,申请国家发明专利20余项;主持研发了iTrip智慧导游、金品果链等区块链相关产品,具有丰富的软件开发经验。现担任山东省生物信息学会副理事长、中国计算机学会生物信息学专业委员会委员、中国人工智能学会生物信息学与人工生命专业委员会委员、中国电子学会生物计算与生物信息处理专业委员会理事等职务。

相关图书

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