WASI 与 Web 汇编

WASI vs Web-Assembly

我遇到了 web-assembly wasm,甚至我尝试了一些使用 web-assembly 的代码,最近我读到了 wasi,我注意到区块链中的 Ethereum Ewasm、Cosmos coswasm。它们之间的主要区别是什么?什么时候 WASI 是正确的解决方案,什么时候应该使用 WebAssembly?

WASI 是 WASM 对 运行 的扩展,不仅在网络上,而且在任何平台上。 WebAssembly 为概念机器提供构建目标,这意味着单个二进制文件可以 运行 在不同的处理器和计算机上(而不是必须构建多个不同的二进制文件)。 WASI 提供了一个概念性的操作系统,这意味着程序可以使用一组通用的命令和子程序与操作系统交互,而无需重新编写以处理操作系统之间的差异。

如果您的代码只需要 运行 在浏览器中,您应该使用 WebAssembly。如果您在程序中与操作系统交互,您可能需要考虑使用 WASI。

A description by Mozilla