An open API service indexing awesome lists of open source software.

https://github.com/wtdcode/evm


https://github.com/wtdcode/evm

Last synced: 2 months ago
JSON representation

Awesome Lists containing this project

README

        

# SputnikVM: Rust Ethereum Virtual Machine Implementation

[![Build Status](https://github.com/rust-blockchain/evm/workflows/Rust/badge.svg)](https://github.com/rust-blockchain/evm/actions?query=workflow%3ARust)
[![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](./LICENSE)

| Name | Description | Crates.io | Documentation |
|---------------|:---------------------------------------------------------------:|:---------------------------------------------------------------------------------------------------------:|:------------------------------------------------------------------------------------------:|
| evm | Main library that re-exports most things. | [![crates.io](https://img.shields.io/crates/v/evm.svg)](https://crates.io/crates/evm) | [![Documentation](https://docs.rs/evm/badge.svg)](https://docs.rs/evm) |
| evm-core | Core library defining the basic execution rules. | [![crates.io](https://img.shields.io/crates/v/evm-core.svg)](https://crates.io/crates/evm-core) | [![Documentation](https://docs.rs/evm-core/badge.svg)](https://docs.rs/evm-core) |
| evm-gasometer | Integration of Ethereum gas rules. | [![crates.io](https://img.shields.io/crates/v/evm-gasometer.svg)](https://crates.io/crates/evm-gasometer) | [![Documentation](https://docs.rs/evm-gasometer/badge.svg)](https://docs.rs/evm-gasometer) |
| evm-runtime | Runtime defining interface for block, transaction, and storage. | [![crates.io](https://img.shields.io/crates/v/evm-runtime.svg)](https://crates.io/crates/evm-runtime) | [![Documentation](https://docs.rs/evm-runtime/badge.svg)](https://docs.rs/evm-runtime) |

## 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

* [Latest release documentation](https://docs.rs/evm)

## Build from sources

SputnikVM is written in Rust. If you are not familiar with Rust, please
see the [starting documentation](https://www.rust-lang.org/learn).

### Build

To start working with SputnikVM you'll
need to install [rustup](https://www.rustup.rs/), then you can do:

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

## License

Apache 2.0