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

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 语言中文社区

你可能感兴趣的:(java,python,linux,区块链,mysql)