Skip to content

rust-blockchain/evm

master
Switch branches/tags
Code

Latest commit

* `ExitError` specify invalid opcode

* Do not early return, propagate instead

* `InvalidCode(Opcode)`

* Use const

* Use constant

* clippy

* Revert "Use const"

This reverts commit 1c669ab.

* Add 0xef const
51b8c2c

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

SputnikVM: Rust Ethereum Virtual Machine Implementation

Build Status License

Name Description Crates.io Documentation
evm Main library that re-export 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 getting started guide.

Build

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

$ git clone git@github.com: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

Packages

No packages published

Languages