java|【Rust日报】2021-12-19 Foundry(以太坊应用程序开发工具包)

foundry:以太坊应用程序开发工具包
【java|【Rust日报】2021-12-19 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 生态系统的概述。
Rust冰山

From 日报小组 长琴
社区学习交流平台订阅:
  • Rustcc 论坛:支持 rss
  • 微信公众号:Rust 语言中文社区

    推荐阅读