A Rust implementation of a WebAssembly runtime focusing on the Component Model and WASI Preview 2. Designed with safety-critical systems in mind.
Early Development - Basic WebAssembly component execution is working:
# Run a Rust-compiled WASI Preview 2 component
./target/debug/wrtd hello_rust.wasm --component
# Output: Hello wasm component world from Rust!- WebAssembly Component Model parsing and instantiation
- WASI Preview 2 stdout/stderr output (
wasi:cli/stdout,wasi:io/streams) - Core WebAssembly module execution
- Basic memory management with bounds checking
no_stdcompatible foundation (for embedded use cases)
- Additional WASI Preview 2 interfaces (filesystem, environment, etc.)
- Cross-component function calls
- Full Component Model linking
# Clone and build
git clone https://github.com/pulseengine/wrt
cd wrt
cargo build --bin wrtd --features "std,wrt-execution"
# Run a WebAssembly component
./target/debug/wrtd your_component.wasm --componentwrtd/- Runtime daemon (main executable)wrt-runtime/- Execution enginewrt-component/- Component Model supportwrt-decoder/- Binary format parsingwrt-foundation/- Core types and bounded collectionscargo-wrt/- Build tooling
# Install build tool (optional but recommended)
cargo install --path cargo-wrt
# Build runtime
cargo build --bin wrtd --features "std,wrt-execution"
# Run tests
cargo test --workspace# Basic component execution
wrtd component.wasm --component
# With WASI support
wrtd component.wasm --component --wasi
# Set resource limits
wrtd component.wasm --component --fuel 100000 --memory 1048576- WASI Preview 2 focus - Targeting the modern component-based WASI
- Safety-critical awareness - Bounded allocations, deterministic behavior
no_stdsupport - Usable in embedded/constrained environments
MIT License - see LICENSE file.