1 个稳定版本

4.0.0 2024年4月21日

#39 in #test-suite

MIT 许可证

520KB
9K SLoC

rtvm

Rust Tos 虚拟机

Rtvm 是用 Rust 编写的 TVM,注重于 速度简洁性。它具有快速灵活的实现,具有简单的接口和嵌入式宿主。它通过了所有 ethereum/tests 测试套件。

以下是 Rtvm 遵循的一些指导原则。

  • EVM 兼容性和稳定性 - 这不言而喻,但在这里列出总是好的。在区块链行业中,稳定性是任何系统的最希望拥有的属性。
  • 速度 - 是最重要的因素之一,大多数决策都是为了补充这一点。
  • 简洁性 - 内部的简化,以便易于理解和扩展,以及易于使用或集成到其他项目的接口。
  • 接口 - [no_std],以便可以作为 wasm 库使用,并在需要时与 JavaScript 和 C++ 绑定集成。

项目

结构

  • crates
    • rtvm -> 主要 TVM 库。
    • rtvm-primitives -> 原始数据类型。
    • rtvm-interpreter -> 带指令的执行循环
    • rtvm-precompile -> TVM 预编译
  • bins
    • rtvme: 命令行二进制文件,用于运行状态测试 json 文件。

从源代码构建

git clone https://github.com/tos-network/rtvm.git
cd rtvm
cargo build --release

依赖项

~6–9MB
~187K SLoC