wasmtime README

The project's README from github.com/bytecodealliance/wasmtime. As one markdown file: README.md.

wasmtime

A standalone runtime for WebAssembly

A Bytecode Alliance project

build status zulip chat supported rustc stable Documentation Status

Guide | Contributing | Website | Chat

Installation

The Wasmtime CLI can be installed on Linux and macOS (locally) with a small install script:

curl https://wasmtime.dev/install.sh -sSf | bash

This script installs into $WASMTIME_HOME (defaults to $HOME/.wasmtime), and executable is placed in $WASMTIME_HOME/bin.

After running the install script above, follow the on-screen instructions.

Windows or otherwise interested users can download installers and binaries directly from the GitHub Releases page.

For additional installation options, refer to the online book CLI installation page.

Documentation on Wasmtime's currently supported versions can be found in the online book documentation.

Example

If you've got the Rust compiler installed then you can take some Rust source code:

fn main() {
    println!("Hello, world!");
}

and compile it into a WebAssembly component with:

rustup target add wasm32-wasip2
rustc hello.rs --target wasm32-wasip2

Once compiled, you can run your component:

wasmtime hello.wasm

You should see the following output:

Hello, world!

(Note: make sure you installed Rust using the rustup method in the official instructions above, and do not have a copy of the Rust toolchain installed on your system in some other way as well (e.g. the system package manager). Otherwise, the rustup target add... command may not install the target for the correct copy of Rust.)

Features

Language Support

You can use Wasmtime from a variety of different languages through embeddings of the implementation.

Languages supported by the Bytecode Alliance:

Languages supported by the community:

Documentation

📚 Read the Wasmtime guide here! 📚

The wasmtime guide is the best starting point to learn about what Wasmtime can do for you or help answer your questions about Wasmtime. If you're curious in contributing to Wasmtime, it can also help you do that!


It's Wasmtime.

wasmtime (bytecodealliance/wasmtime)

Searching Database…

18.7K ·GitHub
Что это такое?Wasmtime — это лёгкая среда выполнения WebAssembly: она быстро и безопасно запускает программы на WebAssembly (wasm). Написана на Rust и разрабатывается в рамках Bytecode Alliance.
Это утилита командной строки или библиотека, которую я встраиваю в своё приложение?И то, и другое. В комплекте есть отдельный CLI для запуска WebAssembly-файлов, а также библиотеку можно встраивать в приложения на многих языках.
Мне нужно установить компилятор Rust, чтобы что-то запустить через него?Сама среда выполнения автономна. Rust (устанавливаемый через rustup) нужен только чтобы скомпилировать собственный исходный код в wasm-компонент, а README предупреждает, что не стоит смешивать rustup с общесистемной установкой Rust.
Что такое Cranelift?Генератор кода с оптимизацией, на котором построен Wasmtime. Он быстро создаёт качественный машинный код — либо во время выполнения (JIT), либо заранее (AOT).
Что такое WASI?WebAssembly System Interface — стандарт, который даёт программам на WebAssembly набор API для взаимодействия с окружением хоста. Wasmtime реализует его как одну из основных возможностей.
Он запускает WebAssembly-компоненты или только базовые модули?С компонентами всё в порядке: пример из README компилирует исходный код на Rust в WebAssembly-компонент, а затем запускает его напрямую через CLI.
What are similar projects?wasmer, graal, WasmEdge, scriptc, codon, CalcKernel, deno, astrid
Size
163.5 MB
Stars
18.7K
Age
9y
Commits · 90 Days