跳至主要内容

Other Extensions

A challenge for running WASM apps on the server side is the lack of support for Linux APIs and common application libraries. WasmEdge fixes this by adding support for many platform APIs for WASM apps. Developers can often simply compile their Linux apps to WASM and expect it run in WasmEdge. WasmEdge provides an easy extension mechanism for the community to add these APIs. For example,

Through its support for networking socket and related APIs, WasmEdge can run Rust applications that

Furthermore, the networking socket APIs also allow us to support the node.js API, including both the server and fetch(), in WasmEdge's JavaScript runtime.

Through its support for WASI-NN APIs, WasmEdge can support Rust and JavaScript applications for AI inference. Models from popular AI frameworks such as Tensorflow, PyTorch and OpenVINO are all supported.

Available extensions

The extensions can be easily installed by the WasmEdge installer. They can also be included in WASM container images for Docker, Podman, and Kubernetes applications.

NameDescriptionPlatform SupportLanguage supportNote
Networking socketsSupports async (non-blocking) POSIX networking socketsLinuxRust, JavaScript, CSupports popular libraries such as tokio (Rust) and node (JavaScript)
DNSSupports DNS domain names in networking socketsLinuxRust, JavaScript, CSupports popular libraries such as tokio (Rust) and node (JavaScript)
Domain socketsSupports high-performance data exchange between processesLinuxRust, JavaScript, C
TLSSupports TLS and HTTPS connections from the networking socketsLinuxRust, JavaScript, C
KV StorageAllows WebAssembly programs to read and write a key value storeLinuxRust
Ethereumsupports Ethereum smart contracts compiled to WebAssembly.LinuxnoneIt is a leading implementation for Ethereum flavored WebAssembly (Ewasm).
SubstrateThe Pallet allows WasmEdge to act as an Ethereum smart contract execution engine on any Substrate based blockchains.Linuxnone