WasmEdge Proprietary Extensions

A key differentiator of WasmEdge from other WebAssembly runtimes is its support for non-standard extensions. The WebAssembly System Interface (WASI) provides a mechanism for developers to extend WebAssembly efficiently and securely. The WasmEdge team created the following WASI-like extensions based on real-world customer demands.

  • Tensorflow. Developers can write Tensorflow inference functions using a simple Rust API, and then run the function securely and at native speed inside WasmEdge.
  • Image processing. WasmEdge uses native libraries to manipulate images for computer vision tasks.
  • KV Storage. The WasmEdge storage interface allows WebAssembly programs to read and write a key value store.
  • Network sockets. WasmEdge applications can access the network sockets for TCP and HTTP connections.
  • Command interface. WasmEdge enables webassembly functions execute native commands in the host operating system. It supports passing arguments, environment variables, STDIN/STDOUT pipes, and security policies for host access.
  • Ethereum. The WasmEdge Ewasm extension supports Ethereum smart contracts compiled to WebAssembly. It is a leading implementation for Ethereum flavored WebAssembly (Ewasm).
  • Substrate. The Pallet allows WasmEdge to act as an Ethereum smart contract execution engine on any Substrate based blockchains.

Extension Supported Platforms

ExtensionDescriptionx86_64 Linuxaarch64 Linuxarm64 Androidx86_64 Darwin
WasmEdge-ImageImage host function extension with shared library.since 0.9.0since 0.9.1since 0.9.1since 0.10.0
WasmEdge-TensorflowTensorFlow host function extension with shared library.TensorFlow and TensorFlow-Lite since 0.9.0TensorFlow-Lite since 0.9.1TensorFlow-Lite since 0.9.1TensorFlow and TensorFlow-Lite since 0.10.0
WasmEdge-Tensorflow-ToolsWasmEdge CLI tools with TensorFlow and image extension.since 0.9.0since 0.9.1since 0.9.1since 0.10.0