Skip to content

Instantly share code, notes, and snippets.

Last active Dec 29, 2019
What would you like to do?

WebAssembly System Interface (WASI)


(Possible) applications



Note: wasmtime and Lucet are using Crainlift as their backend. Wasmer can use it too, but it can use 2 other backends.

Build tools

  • wasi-sdk: SDK from Mozilla to compile C code into WASI supporting WASM
  • wasi-libc: libc implementation supporting WASI
  • Lucet: C compiler + libc implementation from Fastly
  • autoconf: Now recognizes WASI
  • Debugger: debugging with a combination of LLDB and wasmtime
  • wasm-cli-plugin: Docker CLI plugin to build a WASM module and demonstrate it

WASI subgroup

Subgroup of WebAssembly community group.

Goals & scope

  • To provide a forum for pre-standardization collaboration on a system interface API for WebAssembly programs.
  • Scope: topics related to system interface APIs, including
    • APIs for host file systems, network stacks, and other resources.
    • APIs for graphics, audio, input devices
    • APIs for encryption, format conversion, and other transformations (particularly where hardware acceleration may be available on some platforms)
  • Deliverables
    • Specifications
    • Non-normative reports
    • Software




If WASM+WASI existed in 2008, we wouldn't have needed to created Docker. That's how important it is. Webassembly on the server is the future of computing. A standardized system interface was the missing link. Let's hope WASI is up to the task! Solomon Hykes

“So will wasm replace Docker?” No, but imagine a future where Docker runs linux containers, windows containers and wasm containers side by side. Over time wasm might become the most popular container type. Docker will love them all equally, and run it all :) Solomon Hykes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment