Crates.io | wasmer-wasi-near |
lib.rs | wasmer-wasi-near |
version | 1.0.1 |
source | src |
created_at | 2021-02-05 00:43:19.335895 |
updated_at | 2021-02-05 00:43:19.335895 |
description | WASI implementation library for Wasmer WebAssembly runtime |
homepage | |
repository | https://github.com/wasmerio/wasmer |
max_upload_size | |
id | 350812 |
size | 264,970 |
wasmer-wasi
This crate provides the necessary imports to use WASI easily from Wasmer.
use wasmer::{Store, Module, Instance};
use wasmer_wasi::WasiState;
let store = Store::default();
let module = Module::from_file(&store, "my_wasi_module.wasm")?;
// Create the WasiEnv
let wasi_env = WasiState::new("command name")
.args(&["world"])
.env("KEY", "VALUE")
.finalize()?;
let import_object = wasi_env.import_object(&module)?;
let instance = Instance::new(&module, &import_object)?;
wasi_env.set_memory(instance.exports.get_memory("memory")?.clone());
let start = instance.exports.get_function("_start")?;
start.call(&[])?;
Note: you can find a full working example using WASI here.