#evm #ethereum #virtual-machine #no-std

no-std evm-interpreter

以太坊虚拟机(EVM)的解释器部分

3 个版本 (1 个不稳定版本)

1.0.0-alpha.22023 年 12 月 6 日
1.0.0-alpha.12023 年 11 月 25 日
0.1.0 2023 年 10 月 29 日

#69#evm

每月 22 次下载

Apache-2.0

120KB
4K SLoC

Rust EVM

Build Status License

Rust EVM,也称为 SputnikVM,是一个灵活的以太坊虚拟机解释器,可以轻松定制。

状态

Rust EVM 项目有着悠久的历史,最早可以追溯到 2017 年的初始实现(当时称为 SputnikVM)。多年来经过多次重写,以满足不同的需求,当我们成功测试了一个集成 Geth 以同步主网的项目。

当前的重新编写用于 Frontier 项目(Polkadot 的以太坊兼容层)的生产环境中。然而,我们尚未对其与以太坊主网进行完全测试。如果您有此类需求,欢迎提交修复的 PR。

功能

  • 独立 - 可以作为独立进程启动或集成到其他应用程序中。
  • 灵活 - 可以进行定制和扩展,以支持额外的操作码、额外的预编译、不同的气体表或其他更特殊的使用场景。
  • 便携 - 支持 no_std,并可用于不同的环境,如 WebAssembly。
  • 快速 - 我们当然努力做到快速!
  • 用 Rust 编写,可以作为二进制文件、cargo 包或共享库使用。

依赖关系

Rust EVM 至少需要 rustc 1.75

文档

许可证

Apache 2.0


lib.rs:

EVM 的核心层。

依赖关系

~1.5–2.6MB
~37K SLoC