跳到主要内容

其他扩展

在服务器端运行 WASM 应用的挑战之一是缺乏对 Linux API 和常用应用程序库的支持。WasmEdge 通过为 WASM 应用程序添加许多平台 API 的支持来解决这个问题。开发人员通常可以简单地将他们的 Linux 应用编译成 WASM,并期望在 WasmEdge 中运行。WasmEdge 为社区提供了一种简单的扩展机制来添加这些 API。例如,

通过其对网络套接字和相关 API 的支持,WasmEdge 可以运行 Rust 应用程序,实现以下功能:

此外,网络套接字 API 还允许我们在 WasmEdge 的 JavaScript 运行时中支持 Node.js API,包括 serverfetch()

通过其对 WASI-NN API 的支持,WasmEdge 可以支持用于 AI 推理的 Rust 和 JavaScript 应用程序。来自流行 AI 框架(如 Tensorflow、PyTorch 和 OpenVINO)的模型都已经得到了支持

可用扩展

这些扩展可以通过 WasmEdge 安装程序轻松安装。它们也可以包含在用于 Docker、Podman 和 Kubernetes 应用程序的 WASM 容器映像中。

名称描述平台支持语言支持备注
网络套接字支持异步(非阻塞)的 POSIX 网络套接字LinuxRust、JavaScript、C支持诸如 tokio(Rust)和 node(JavaScript)等流行库
DNS支持网络套接字中的 DNS 域名LinuxRust、JavaScript、C支持诸如 tokio(Rust)和 node(JavaScript)等流行库
域套接字支持进程之间的高性能数据交换LinuxRust、JavaScript、C
TLS支持从网络套接字进行 TLS 和 HTTPS 连接LinuxRust、JavaScript、C
KV 存储允许 WebAssembly 程序读写键值存储LinuxRust
以太坊支持编译为 WebAssembly 的以太坊智能合约。Linux它是以太坊风格的 WebAssembly(Ewasm)的主要实现。
SubstratePallet 允许 WasmEdge 在任何基于 Substrate 的区块链上作为以太坊智能合约执行引擎。Linux