foundry:以太坊应用程序开发工具包
一个用 Rust 编写的用于以太坊应用程序开发的快速、便携和模块化的工具包。包括:
- Forge:以太坊测试框架(如 Truffle、Hardhat 和 Dapptools)。
- Cast:瑞士军刀,用于与 EVM 智能合约交互、发送交易和获取链数据。
特点:
- 快速、灵活的编译管道
- Solidity 编译器版本自动检测安装
- 增量编译和缓存:仅重新编译更改的文件
- 并行编译
- 非标准目录结构支持
- 测试是用 Solidity 编写的
- 使用收缩输入和打印反例的快速模糊测试
- 快速远程 RPC forking 模式利用 Rust 的异步基础架构
- 灵活的 Debug 日志
- Dapptools 风格,使用 DsTest 发出的日志
- Hardhat 风格,使用流行的 console.sol 合约
- 便携 (5-10MB) & 易于安装静态链接的二进制文件,无需 Nix 或任何其他包管理器
- 抽象的 EVM 实现(目前支持:Sputnik、EvmOdin)
GitHub:https://github.com/gakonst/foundry
chirperjax:简单的2D游戏平台
一个简单的 Rust 2D 平台游戏,使用了 Gate 和 Collider 库。
- https://crates.io/crates/gate
- https://crates.io/crates/collider
介绍视频:https://www.youtube.com/watch?v=SR-Yx6nTfZY
在线 Demo:http://www.luduminis.com/chirperjax/
vsh:UnixShell
关于为什么要写一个新的 Shell,作者觉得 Nushell 对只想要一个 Shell 的人来说确实有好处,但如果只想要 Rust 写的 bash 呢。vsh 就是要将 bash 的功能都实现,人们用起来还是 bash,而不会掉到一个新的空间(说的是 Nushell)。感兴趣的同学可以关注下。
GitHub:https://github.com/Vaimer9/vsh
Rustacean小项目
- 检查地址和端口的 GUI 小工具:https://github.com/shijimasoft/netport
- 一个操作二叉树的小 library:https://github.com/Gabriel-Rosmart/RusTree
- 可以处理数字和字符串
- 在树上插入新数据
- 查找是否包含某值
- 获取树的深度
- 引用树上的数据
- 合并两棵树
- 从 vector 创建树
- 从树创建 vector
- 检查编译的局限性:https://github.com/adam-mcdaniel/harbor
Rustacean文章推荐
- How not to learn Rust:https://dystroy.org/blog/how-not-to-learn-rust/。这是一篇反向思维的文章,作者列举了一些可能导致初学者无法成功学习 Rust 的错误。
- Rust Error Handling:https://www.unwoundstack.com/blog/rust-error-handling.html。这是一篇 Rust 错误处理的最佳实践。
- Rust as a platform for IoT:https://blog.ysndr.de/posts/essays/2021-12-12-rust-for-iot/。这是一篇针对物联网应用的 Rust 生态系统的概述。