Upgrade to Pro — share decks privately, control downloads, hide ads and more …

wstdなんだか良さそう

Avatar for asuka asuka
June 17, 2025

 wstdなんだか良さそう

UV Study : Rust LT会 ~お好きなCrate紹介してください~
https://uniquevision.connpass.com/event/355069/

Avatar for asuka

asuka

June 17, 2025
Tweet

More Decks by asuka

Other Decks in Technology

Transcript

  1. WHOAMI asuka • 株式会社モニクル/SWE ◦ Monicle Techbook vol.1 技術書典17 •

    Wasm関連の同人誌・商業誌の執筆 ◦ 実践入門WebAssembly ◦ WebAssembly System Interface入門 ◦ ご注文はWASIですか?? 技術書典16 ◦ Wasm Cookbook vol.2 技術書典17 ◦ Wasm Cookbook vol.3 技術書典18 ◦ Wasm Cookbook vol.4 技術書典NT • 新宿御苑.dev ◦ 新宿御苑.wasm #2025.6.25 LT会 2 商業誌 Cookbookシリーズ ごちWASI
  2. RustはWASI 0.2をサポートしている cargo build -r –-target wasm32-wasip2 6 $ wasmtime

    run <TARGET_PATH>/hello-world.wasm Hello, WASI 0.2! ターゲットにWASIp2 (WASI 0.2)を指定すると 「wasi:cli/command」ワールドが実装される
  3. wasi:cli/commandワールド CLI実行に必要なFSなどの一般的なインターフェース実装 7 $ wasm-tools component wit <TARGET_PATH>/hello-world.wasm | head

    package root:component; world root { import wasi:cli/[email protected]; import wasi:cli/[email protected]; import wasi:io/[email protected]; import wasi:io/[email protected]; import wasi:cli/[email protected]; import wasi:cli/[email protected]; import wasi:cli/[email protected]; import wasi:clocks/[email protected]; import wasi:filesystem/[email protected]; import wasi:filesystem/[email protected]; export wasi:cli/[email protected]; } https://wa.dev/wasi:cli
  4. wstd 16 https://github.com/yoshuawuyts/wstd An async standard library for Wasm Components

    and WASI 0.2 $ wasmtime run -S http <TARGET_PATH>/example.wasm <!doctype html> <html> <head> <title>Example Domain</title> ... 実行できる