Skip to content

rust-ethereum/evm

This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

168de4a · Nov 20, 2023
Jun 21, 2023
May 21, 2023
Nov 1, 2023
Nov 1, 2023
Nov 20, 2023
Nov 1, 2023
Nov 20, 2023
Dec 18, 2017
Jul 27, 2021
Aug 10, 2017
Nov 1, 2023
Mar 31, 2017
Oct 18, 2022
Apr 18, 2023
Jul 26, 2021

Repository files navigation

SputnikVM: Rust Ethereum Virtual Machine Implementation

Build Status License

Name Description Crates.io Documentation
evm Main library that re-exports most things. crates.io Documentation
evm-core Core library defining the basic execution rules. crates.io Documentation
evm-gasometer Integration of Ethereum gas rules. crates.io Documentation
evm-runtime Runtime defining interface for block, transaction, and storage. crates.io Documentation

Features

  • Standalone - can be launched as an independent process or integrated into other apps
  • Universal - supports different Ethereum chains, such as ETC, ETH or private ones
  • Stateless - only an execution environment connected to independent State storage
  • Fast - main focus is on performance
  • written in Rust, can be used as a binary, cargo crate or shared library

Dependencies

Ensure you have at least rustc 1.51.0 (2fd73fabe 2021-03-23). Rust 1.50.0 and before are not supported.

Documentation

Build from sources

SputnikVM is written in Rust. If you are not familiar with Rust, please see the starting documentation.

Build

To start working with SputnikVM you'll need to install rustup, then you can do:

$ git clone [email protected]:rust-blockchain/evm.git
$ cd evm
$ cargo build --release --all

License

Apache 2.0