/wasi-experimental-toolkit

Experimental interfaces for commonly used WebAssembly functionality

Primary LanguageRustApache License 2.0Apache-2.0

WASI Experimental Toolkit

WASI Experimental Toolkit

The goal of this proposal is to standardize the interfaces for functionality commonly used from WebAssembly modules, particularly running in non-browser environments.

Interfaces:

  • caching
  • logging
  • outbound HTTP

The interfaces in this repository are at a very early stages of development, and are intended to serve as a start for the standardization effort. Improvements and suggestions are highly encouraged at this point. A secondary goal of this repository is also to follow the development of the interface types proposal and wit-bindgen, and be in sync with the updates from that repository.

Building and testing

$ cargo build
$ cargo test --all -- --nocapture

Prerequisites

  • Redis installed so that redis-server is available
  • WASI SDK at v12+ in /opt/wasi-sdk/ (configurable in Makefile)
  • Rust at 1.56+ with the wasm32-wasi and wasm32-unknown-unknown targets configured