https://github.com/spacemeshos/svm
SVM - Spacemesh Virtual Machine
https://github.com/spacemeshos/svm
rust spacemesh wasm web-assembly
Last synced: 7 months ago
JSON representation
SVM - Spacemesh Virtual Machine
- Host: GitHub
- URL: https://github.com/spacemeshos/svm
- Owner: spacemeshos
- License: mit
- Archived: true
- Created: 2019-06-30T07:16:26.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-01-20T23:43:46.000Z (almost 3 years ago)
- Last Synced: 2024-11-01T13:34:31.261Z (about 1 year ago)
- Topics: rust, spacemesh, wasm, web-assembly
- Language: Rust
- Homepage: https://spacemesh.io
- Size: 20.9 MB
- Stars: 86
- Watchers: 23
- Forks: 14
- Open Issues: 79
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-blockchain-rust - SVM
- awesome-wasm-runtimes - Spacemesh Virtual Machine - A Spacemesh smart contracts vm (<a name="wasmer"></a>[Wasmer](https://github.com/wasmerio/wasmer) <sup>[top⇈](#contents)</sup>)
README
# SVM - _Spacemesh_ Virtual Machine
[](https://github.com/spacemeshos/svm/actions/workflows/ci.yml)
[](https://github.com/spacemeshos/svm/blob/master/LICENSE)
[](https://gitter.im/spacemesh-os/svm)
### Project Goals
* Self-contained. Should be hosted by the [Spacemesh Golang full-node](https://github.com/spacemeshos/go-spacemesh) and future _Spacemesh_ Rust full-node
* Built on top of [wasmer](https://wasmer.io)
* Future compatible for the _SMESH_ programming-language (the language is still in a research stage).
### Rust
`SVM` depends on the single-pass compiler of `wasmer` which requires the `rust nightly` release channel.
More information about installing `rust nightly` can be [found here](https://doc.rust-lang.org/1.2.0/book/nightly-rust.html)
### Build & Tests
The `SVM` project is organized into a couple of crates.
The root crate is called `SVM` and it's a workspace crate.
In order to build the `SVM` project crates at once and run their tests:
```rust
cargo build
cargo test
```
If you want to build & test in release mode execute:
```rust
cargo build --release --no-default-features
cargo test --all --release --no-default-features
```
### Docker
In order to build the Docker image
```
docker build -t svm-build .
```
Then, for spawning a new container
```
docker run -it svm-build
```
### Supported Operating-Systems
* [x] Mac
* [x] Linux
* [x] Windows
### Got Questions?
- If you'd like to contribute to _SVM_ or have questions please go to [SVM gitter channel](https://gitter.im/spacemesh-os/svm)
- Introduce yourself and ask anything on the [spacemesh gitter channel](https://gitter.im/spacemesh-os/svm).
- DM [@teamspacemesh](https://twitter.com/teamspacemesh)