SputnikVM: A Blockchain Virtual Machine

Build Status License Cargo

SputnikVM is an implementation of an Ethereum Virtual Machine. It aims to be an efficient, pluggable virtual machine for different Ethereum-based blockchains.

We encourage all Ethereum'esque blockchains to adopt SputnikVM, and to make use of SputnikVM's RFC governance project which governs the parameters of each blockchain's VM. This way we can draw from the experience of the community and learn from other proposed RFCs.

Features

Related projects

Dependencies

Ensure you have at least rustc 1.16.0 (30cf806ef 2017-03-10). Rust 1.15.0 and before is not supported.

Documentation

Build from sources

SputnikVM is written 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:

bash $ git clone git@github.com:ethereumproject/sputnikvm.git $ cd sputnikvm $ cargo build --release --all

Testing

We currently use two ways to test SputnikVM and ensure its execution aligns with other Ethereum Virtual Machine implementations:

To learn more about building SputnikVM from source please read wiki page Building and Testing

License

Apache 2.0