gWasm is Golem's new meta use-case which allows Golem's developers/users to deploy their Wasm apps on Golem Network. This API providers convenience structures and functions for creating a gWasm task and connecting with Golem Network all from native Rust code.
```rust use gwasm_api::prelude::*; use anyhow::Result; use std::path::Path;
struct ProgressTracker;
impl ProgressUpdate for ProgressTracker { fn update(&mut self, progress: f64) { println!("Current progress = {}", progress); } }
fn main() -> Result<()> { let binary = GWasmBinary { js: &[0u8; 100], // JavaScript file generated by Emscripten wasm: &[0u8; 100], // Wasm binary generated by Emscripten }; let task = TaskBuilder::new("workspace", binary) .pushsubtaskdata(vec![0u8; 100]) .build()?; let computed_task = compute( Path::new("datadir"), "127.0.0.1", 61000, Net::TestNet, task, ProgressTracker, )?;
for subtask in computed_task.subtasks {
for (_, reader) in subtask.data {
assert!(!reader.buffer().is_empty());
}
}
Ok(())
} ```
gwasm-api
internallyLicensed under GPLv3