- 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
SputnikVM provides optional feature flags to enable specific functionalities:
allow_explicit_address
Enables thetransact_create_force_address
method, allowing contract creation with a predefined address.with-codec
with-serde
tracing
force-debug
Ensure you have at least rustc 1.51.0 (2fd73fabe 2021-03-23)
. Rust 1.50.0 and
before are not supported.
SputnikVM is written in Rust. If you are not familiar with Rust, please see the starting documentation.
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
Apache 2.0