GitHub - explodingcamera/tinywasm: 一个用 Rust 编写的小型、解释型 WebAssembly 运行时

主要观点:介绍了一个用安全 Rust 编写的小型 WebAssembly 运行时 TinyWasm,包括其特点、现状、安全性、支持的提案、用法、特性标志、灵感来源和许可证等方面。
关键信息

  • 设计小巧(<4000 LLOC)、可移植(能在 Rust 可支持的任何平台运行,包括no_std且外部依赖少)、安全(无 unsafe 代码)。
  • 通过 WebAssembly MVP 测试,支持多数 WebAssembly 程序,除 SIMD 和 Memory64 提案外。
  • 安全性方面在内存安全方面设计良好,但目前无防止无限循环或过度内存使用的保护。
  • 列出了各种支持的提案及其状态和对应的 TinyWasm 版本。
  • 提供了示例目录和文档用于使用说明,还有tinywasm-cli工具用于测试。
  • stdloggingparserarchive等特性标志,可在no_std环境中使用。
  • 受 wasmi、wasm3、wazero、wain 等项目启发。
  • 依据 Apache License Version 2.0 或 MIT 许可证授权。
    重要细节
  • tinywasm.png链接指向 GitHub 仓库,文档链接为https://docs.rs/tinywasm,Crates.io 链接为https://crates.io/crates/tinywasm,许可证链接为https://github.com/explodingcamera/tinywasm/blob/next/LICENSE-APACHE
  • 不同提案的支持情况详细列出,如 Mutable Globals 等提案已完全支持,Tail Call 等提案在next版本支持等。
  • 特性标志的作用和默认启用情况说明清楚,如std默认启用用于从文件和流解析等。
阅读 17
0 条评论