wasmi/README.md

50 lines
1.8 KiB
Markdown
Raw Normal View History

2018-04-17 06:41:26 +00:00
[![crates.io link](https://img.shields.io/crates/v/wasmi.svg)](https://crates.io/crates/wasmi)
[![Build Status](https://travis-ci.org/paritytech/wasmi.svg?branch=master)](https://travis-ci.org/paritytech/wasmi)
# `wasmi`
2018-01-22 15:47:16 +00:00
WASM interpreter (previously lived in [parity-wasm](https://github.com/paritytech/parity-wasm))
2018-01-23 16:43:56 +00:00
2018-01-23 17:07:09 +00:00
Primary purpose of `wasmi` is to be used with [parity](https://github.com/paritytech/parity) (ethereum-like contracts in wasm) and with [Polkadot](https://github.com/paritytech/polkadot). However, `wasmi` is designed to be as flexible as possible and might be suited well for other purposes.
At the moment, the API is rather low-level (especially, in the part related to host functions). But some high-level API is on the roadmap.
2018-01-23 16:43:56 +00:00
# License
`wasmi` is primarily distributed under the terms of both the MIT
license and the Apache License (Version 2.0), at your choice.
See LICENSE-APACHE, and LICENSE-MIT for details.
2018-01-23 16:47:18 +00:00
# Build & Test
As `wasmi` contains a git submodule, you need to use `--recursive` for cloning or to checkout the submodule explicitly, otherwise the testing would fail.
```
git clone https://github.com/paritytech/wasmi.git --recursive
cd wasmi
cargo build
cargo test
```
2018-08-24 23:15:04 +00:00
# `no_std` support
This crate supports `no_std` environments.
2018-08-25 12:18:52 +00:00
Enable the `core` feature and disable default features:
2018-08-24 23:15:04 +00:00
```toml
[dependencies]
parity-wasm = {
version = "0.31",
default-features = false,
2018-08-25 12:18:52 +00:00
features = "core"
}
2018-08-24 23:15:04 +00:00
```
2018-08-25 12:18:52 +00:00
The `core` feature requires the `core` and `alloc` libraries and a nightly compiler.
2018-08-24 23:15:04 +00:00
Also, code related to `std::error` is disabled.
2018-01-23 16:47:18 +00:00
## Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted
for inclusion in `wasmi` by you, as defined in the Apache-2.0 license, shall be
dual licensed as above, without any additional terms or conditions.