Skip to content

Pure Rust implementation of Ethereum Virtual Machine

License

Notifications You must be signed in to change notification settings

darwinia-network/evm

 
 

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

About

Pure Rust implementation of Ethereum Virtual Machine

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 100.0%