The Web3 区块链技术培训之 Rust 课程⼤纲

第⼀节课:编程语言基础

1.Rust 介绍与环境搭建

  • Rust介绍
  • 环境搭建

2.快速邂逅 Rust 语⾔

  • Hello, World!
  • Hello, Cargo!
  • 编写⼀个猜数游戏

3.基础知识

  • 变量与常量
  • 数据类型的本质
  • 基本类型
  • 复合类型
  • 函数
  • 程序控制流

第⼆节课 :编程语言基础

4.程序与内存管理

  • 程序的基本执⾏流程
  • 栈内存与堆内存
  • 指针类型
  • 函数调⽤

5.所有权

  • 什么是所有权
  • 引⽤与借⽤
  • 切⽚
  • 数据类型对⽐: String vs str vs &str 、 [T;N] vs [T] vs &[T]

第三节课 :编程语言基础

6.结构体

  • 定义与使⽤结构体
  • 结构体的⽅法语法

7.枚举与模式匹配

  • 定义与使⽤枚举
  • match 控制流运算符
  • Option 枚举及其常⽤⽅法

8.常⽤集合类型

  • Vector 动态数组
  • String 字符串
  • HashMap 哈希map

第四节课 :编程语言基础

9.泛型与特征

  • 泛型数据类型
  • 特征
  • 约束
  • 常⽤的特征

10. 特征对象

  • 特征对象类型解析
  • 特征对象的应⽤

第五节课 :编程语言基础

11.⽣命周期

  • 变量⽣命周期
  • ⽣命周期标注及规则
  • ⽣命周期示例代码解析

12.错误处理

  • panic! 宏 与 不可恢复错误
  • Result 类型 与 可恢复错误
  • 错误传播( ? 操作符)
  • ⾃定义错误类型

第六节课 :编程语言基础

13.项⽬管理

  • crate
  • 模块
  • cargo 的使⽤

14.⽂档与测试

  • 注释与⽂档
  • 单元测试
  • ⽂档测试
  • 集成测试

第七节课 :编程语言基础

15.智能指针

  • 什么是智能指针
  • Deref 特证 与 Drop 特征 的解析
  • Box、Rc、Arc、Weak、Cell、RefCell 等智能指针的使⽤

16.闭包与迭代器

  • 闭包
  • 迭代器

第⼋节课:编程语言基础

17.并发于宏

  • 并发与异步
  • UnSafe Rust / FFI
  • rust Orm

第九次课:项目实战之 Web 篇

18.几个Web 框架介绍

  • poem
  • hyper
  • actix-web

19. 项目实战

  • 基于 Web 框架的项目目实战
  • 实现 grpc server 和 client
  • 使用 Rust 开发 ethereum json-rpc 实战
  • 第十次课:项目实战之 MPC 托管钱包
  • MPC gg20 代码逻辑讲解
  • 基于 MPC gg20 开发以太坊托管钱包项目

参考资料

  • 《The Rust Programming Language》 https://rustwiki.org/zh-CN/book/title-page.html
  • 《Rust by Example》 https://rustwiki.org/zh-CN/rust-by-example/index.html
  • 《Rust 语⾔圣经》https://course.rs/about-book.html
全部评论(0)