WebAssembly System Interface
E25977
The WebAssembly System Interface (WASI) is a modular, portable set of system APIs that allows WebAssembly programs to interact safely and consistently with operating system features like files, networking, and clocks across different platforms.
Aliases (5)
- WASI Preview 1 ×1
- wasi-clocks ×1
- wasi-filesystem ×1
- wasi-random ×1
- wasi-sockets ×1
Statements (49)
| Predicate | Object |
|---|---|
| instanceOf |
WebAssembly-related standard
→
application binary interface → system interface specification → |
| abbreviation |
WASI
→
|
| designedFor |
WebAssembly
→
|
| developedBy |
Bytecode Alliance
→
contributors from the WebAssembly community → |
| differsFrom |
POSIX by being capability-based and sandbox-oriented
→
|
| enables |
distribution of a single WebAssembly binary across multiple operating systems
→
secure host-guest boundary between OS and WebAssembly module → |
| hasComponent |
wasi-cli
→
wasi-clocks → wasi-filesystem → wasi-http → wasi-io → wasi-random → wasi-sockets → |
| hasGoal |
enable safe interaction between WebAssembly and operating system features
→
provide a portable set of system APIs for WebAssembly programs → support cross-platform compatibility for WebAssembly binaries → |
| hasVersion |
WASI Preview 1
→
WASI Preview 2 → |
| influencedBy |
POSIX
→
|
| introduced |
around 2019
→
|
| property |
capability-based
→
language-agnostic → modular → platform-independent → sandbox-friendly → |
| provides |
clock and time APIs
→
environment variable APIs → file system APIs → networking APIs → process and exit codes APIs → randomness APIs → standard input and output APIs → |
| relatedTo |
WebAssembly core specification
→
component model for WebAssembly → |
| securityModel |
capability-based access to resources
→
|
| standardizedBy |
W3C WebAssembly Community Group
→
|
| supports |
command-line style applications in WebAssembly
→
edge and cloud runtimes for WebAssembly → running WebAssembly outside the browser → server-side WebAssembly execution → |
| usedBy |
Node.js experimental WASI support
→
Wasmer runtime → Wasmtime runtime → various serverless and edge computing platforms → |
| website |
https://wasi.dev
→
|
Referenced by (6)
| Subject (surface form when different) | Predicate |
|---|---|
|
WebAssembly System Interface
("wasi-sockets")
→
WebAssembly System Interface ("wasi-filesystem") → WebAssembly System Interface ("wasi-random") → WebAssembly System Interface ("wasi-clocks") → |
hasComponent |
|
WebAssembly System Interface
("WASI Preview 1")
→
|
hasVersion |
|
WebAssembly specification
→
|
relatedSpecification |