WasmEdge Rust SDK
Overview
WasmEdge Rust SDK consists of five crates:
wasmedge-sdk
crate defines a group of safe, ergonomic high-level APIs developers use to build up their own business applications.wasmedge-sys
crate is a wrapper of WasmEdge C-API and provides safe counterparts. It is not recommended to use it directly by application developers.wasmedge-sys
,wasmedge-types
, andwasmedge-macro
constitute the low-level layer of WasmEdge Rust SDK.wasmedge-types
crate defines the data structures commonly used inwasmedge-sdk
andwasmedge-sys
.wasmedge-macro
crate defines the macros that are commonly used inwasmedge-sdk
andwasmedge-sys
to declare host functions.async-wasi
crate provides the asynchronous WASI APIs.
Usage
Deploy WasmEdge library in your local environment.
Since this crate depends on the WasmEdge C API, it needs to be installed in your system first. Please refer to WasmEdge Installation and Uninstallation to install the WasmEdge library. The versioning table below shows the version of the WasmEdge library required by each version of the
wasmedge-sdk
crate.wasmedge-sdk WasmEdge lib wasmedge-sys wasmedge-types wasmedge-macro async-wasi 0.11.0 0.13.3 0.16.0 0.4.3 0.6.0 0.0.3 0.10.1 0.13.3 0.15.1 0.4.2 0.5.0 0.0.2 0.10.0 0.13.2 0.15.0 0.4.2 0.5.0 0.0.2 0.9.0 0.13.1 0.14.0 0.4.2 0.4.0 0.0.1 0.9.0 0.13.0 0.14.0 0.4.2 0.4.0 0.0.1 0.8.1 0.12.1 0.13.1 0.4.1 0.3.0 - 0.8.0 0.12.0 0.13.0 0.4.1 0.3.0 - 0.7.1 0.11.2 0.12.2 0.3.1 0.3.0 - 0.7.0 0.11.2 0.12 0.3.1 0.3.0 - 0.6.0 0.11.2 0.11 0.3.0 0.2.0 - 0.5.0 0.11.1 0.10 0.3.0 0.1.0 - 0.4.0 0.11.0 0.9 0.2.1 - - 0.3.0 0.10.1 0.8 0.2 - - 0.1.0 0.10.0 0.7 0.1 - - WasmEdge Rust SDK can automatically search the following paths for the WasmEdge library:
/usr/local
(Linux/macOS)$HOME/.wasmedge
(Linux/macOS)Note that if you have installed the WasmEdge library in a different path, you can set the
WASMEDGE_INCLUDE_DIR
andWASMEDGE_LIB_DIR
environment variables to the path of the WasmEdge library.
Add
wasmedge-sdk
crate to yourCargo.toml
file. Note that, according to the versioning table, the version ofwasmedge-sdk
matchingWasmEdge v0.13.3
is0.11.0
.wasmedge-sdk = "0.11.0"
Notice: The minimum supported Rust version is 1.68.
Examples
wasmedge-rustsdk-examples provides a set of examples to demonstrate how to use wasmedge-sdk
to, for example, create host functions, create WebAssembly libraries, create plug-ins, etc.