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

https://github.com/k-nasa/wai

a wasm interpreter written by rust
https://github.com/k-nasa/wai

interpreter runtime rust wasm webassembly

Last synced: 9 months ago
JSON representation

a wasm interpreter written by rust

Awesome Lists containing this project

README

          

[![CI](https://github.com/k-nasa/wai/actions/workflows/ci.yml/badge.svg)](https://github.com/k-nasa/wai/actions/workflows/ci.yml)

# wai (WebAssembly interpreter)

A simple wasm interpreter

This is an ongoing project

## DEMO

https://user-images.githubusercontent.com/23740172/123530111-d8775280-d731-11eb-9ddf-b4afd640ccdb.mov

## Install

### Install via Homebrew

```bash
brew install k-nasa/tap/wai
```

### Install via Cargo

```bash
cargo install --git https://github.com/k-nasa/wai.git wai
```

## Usage

```bash
wai examples/add.wasm --invoke add -a 1 2

wai examples/fib.wasm --invoke fib -a 10
```

```bash
:) % wai -h
wai 0.2.0
k-nasa
A simple wasm interpreter

USAGE:
wai [OPTIONS] --invoke

ARGS:

FLAGS:
-h, --help Prints help information
-V, --version Prints version information

OPTIONS:
-a, --args ...
-i, --invoke
```

## TODO

- [ ] Pass the [wasm testsuite](https://github.com/WebAssembly/testsuite)
- [ ] Implement validator
- [ ] no_std
- [ ] Support [WASI](https://wasi.dev/)

## Licence

[MIT](https://github.com/k-nasa/wai/blob/master/LICENSE)