| Crates.io | ya-runtime-wasi |
| lib.rs | ya-runtime-wasi |
| version | 0.2.1 |
| created_at | 2020-09-01 10:14:15.241392+00 |
| updated_at | 2020-09-01 10:14:15.241392+00 |
| description | Yagna WASI runtime embedding API |
| homepage | https://github.com/golemfactory/ya-runtime-wasi |
| repository | https://github.com/golemfactory/ya-runtime-wasi |
| max_upload_size | |
| id | 283368 |
| size | 64,787 |
ya-runtime-wasiThis crate allows you to embed Yagna WASI runtime inside your application.
The usage is pretty straightforward. In your Cargo.toml, put ya-runtime-wasi as your dependency
# Cargo.toml
[dependencies]
ya-runtime-wasi = "0.2"
You can now embed the runtime in your app like so
use std::path::Path;
use ya_runtime_wasi::*;
// In this example, we assume that `package.zip` contains a WASI binary
// called `hello.wasm`, and maps input/output to `/workdir`
let workspace = Path::new("workspace");
let module_name = "hello.wasm";
let package = Path::new("package.zip");
// Deploy package
deploy(&workspace, &package).unwrap();
// Start the runtime
start(&workspace).unwrap();
// Execute the binary
run(
&workspace,
&module_name,
vec![
"/workdir/input".to_string(),
"/workdir/output".to_string(),
],
).unwrap();
A good example of using ya-runtime-wasi embedding API can be found in the gfaas crate.