WASI - Wasmを汎用バイナリとして利用するためのAPI仕様 WASI 0.1 - POSIX APIを参考に策定 / ネットワークは未サポート WASI 0.2 - Wasmコンポーネントモデルをベースに再設計 2018年 8月 G o 1.11 リ リ ー ス W asm サ ポ ー ト 2019年 W A SI 0.1 リ リ ー ス 2023年 8月 G o 1.21 リ リ ー ス W A SI 0.1 サ ポ ー ト 2024年 1月 W A SI 0.2 リ リ ー ス 2024年 8月 W A SI 0.2.1 リ リ ー ス W asm O C I A rtifact layout 2025年 W A SI 0.3 リ リ ー ス ? 2025年 2月 G o 1.24 リ リ ー ス W A SI 0.1 リ ア ク タ ー モ ジ ュ ー ル サ ポ ー ト
- Wasmを汎用バイナリとして利用するためのAPI仕様 WASI 0.1 - POSIX APIを参考に策定 / ネットワークは未サポート WASI 0.2 - Wasmコンポーネントモデルをベースに再設計 2018年 8月 G o 1.11 リ リ ー ス W asm サ ポ ー ト 2019年 W A SI 0.1 リ リ ー ス 2023年 8月 G o 1.21 リ リ ー ス W A SI 0.1 サ ポ ー ト 2024年 1月 W A SI 0.2 リ リ ー ス 2024年 8月 W A SI 0.2.1 リ リ ー ス W asm O C I A rtifact layout 2025年 W A SI 0.3 リ リ ー ス ? 2025年 2月 G o 1.24 リ リ ー ス W A SI 0.1 リ ア ク タ ー モ ジ ュ ー ル サ ポ ー ト e.g.$ cat examples/go/hello.go package main import ( "fmt" ) func main() { fmt.Println("Hello, 世界!") } e.g.$ GOOS=wasip1 GOARCH=wasm go build -o hello.wasm hello.go e.g.$ wasmtime run hello.wasm Hello, 世界! 配布するバイナリは1つだけで良い
- POSIX APIを参考に策定 / ネットワークは未サポート WASI 0.2 - Wasmコンポーネントモデルをベースに再設計 2018年 8月 G o 1.11 リ リ ー ス W asm サ ポ ー ト 2019年 W A SI 0.1 リ リ ー ス 2023年 8月 G o 1.21 リ リ ー ス W A SI 0.1 サ ポ ー ト 2024年 1月 W A SI 0.2 リ リ ー ス 2024年 8月 W A SI 0.2.1 リ リ ー ス W asm O C I A rtifact layout 2025年 W A SI 0.3 リ リ ー ス ? 2025年 2月 G o 1.24 リ リ ー ス W A SI 0.1 リ ア ク タ ー モ ジ ュ ー ル サ ポ ー ト GitHubのリリースファイル? Google Drive? …?
WASI - Wasmを汎用バイナリとして利用するためのAPI仕様 WASI 0.1 - POSIX APIを参考に策定 / ネットワークは未サポート WASI 0.2 - Wasmコンポーネントモデルをベースに再設計 2018年 8月 G o 1.11 リ リ ー ス W asm サ ポ ー ト 2019年 W A SI 0.1 リ リ ー ス 2023年 8月 G o 1.21 リ リ ー ス W A SI 0.1 サ ポ ー ト 2024年 1月 W A SI 0.2 リ リ ー ス 2024年 8月 W A SI 0.2.1 リ リ ー ス W asm O C I A rtifact layout 2025年 W A SI 0.3 リ リ ー ス ? 2025年 2月 G o 1.24 リ リ ー ス W A SI 0.1 リ ア ク タ ー モ ジ ュ ー ル サ ポ ー ト → WASI 0.2だけでなくWASI 0.1も配布可
WASI - Wasmを汎用バイナリとして利用するためのAPI仕様 WASI 0.1 - POSIX APIを参考に策定 / ネットワークは未サポート WASI 0.2 - Wasmコンポーネントモデルをベースに再設計 2018年 8月 G o 1.11 リ リ ー ス W asm サ ポ ー ト 2019年 W A SI 0.1 リ リ ー ス 2023年 8月 G o 1.21 リ リ ー ス W A SI 0.1 サ ポ ー ト 2024年 1月 W A SI 0.2 リ リ ー ス 2024年 8月 W A SI 0.2.1 リ リ ー ス W asm O C I A rtifact layout 2025年 W A SI 0.3 リ リ ー ス ? 2025年 2月 G o 1.24 リ リ ー ス W A SI 0.1 リ ア ク タ ー モ ジ ュ ー ル サ ポ ー ト e.g.$ wkg oci push ghcr.io/a-skua/hello hello.wasm ※ wkgを使ってアップロードすると OS=wasip2となりますが, Artifact layoutの仕様としてはOS=wasip1もサポートしています.
WASI - Wasmを汎用バイナリとして利用するためのAPI仕様 WASI 0.1 - POSIX APIを参考に策定 / ネットワークは未サポート WASI 0.2 - Wasmコンポーネントモデルをベースに再設計 2018年 8月 G o 1.11 リ リ ー ス W asm サ ポ ー ト 2019年 W A SI 0.1 リ リ ー ス 2023年 8月 G o 1.21 リ リ ー ス W A SI 0.1 サ ポ ー ト 2024年 1月 W A SI 0.2 リ リ ー ス 2024年 8月 W A SI 0.2.1 リ リ ー ス W asm O C I A rtifact layout 2025年 W A SI 0.3 リ リ ー ス ? 2025年 2月 G o 1.24 リ リ ー ス W A SI 0.1 リ ア ク タ ー モ ジ ュ ー ル サ ポ ー ト ※ wkgを使ってアップロードすると OS=wasip2となりますが, Artifact layoutの仕様としてはOS=wasip1もサポートしています. e.g.$ wkg oci push ghcr.io/a-skua/hello hello.wasm e.g.$ wkg oci pull -o hello.wasm ghcr.io/a-skua/hello:go Successfully wrote ghcr.io/a-skua/hello:go to hello.wasm e.g.$ wasmtime run hello.wasm Hello, 世界!
WASI 0.2 ✅ ネットワーク(ソケット)をサポート Wasm OCI Artifact layout 12 WASI - Wasmを汎用バイナリとして利用するためのAPI仕様 WASI 0.1 - POSIX APIを参考に策定 / ネットワークは未サポート WASI 0.2 - Wasmコンポーネントモデルをベースに再設計 2018年 8月 G o 1.11 リ リ ー ス W asm サ ポ ー ト 2019年 W A SI 0.1 リ リ ー ス 2023年 8月 G o 1.21 リ リ ー ス W A SI 0.1 サ ポ ー ト 2024年 1月 W A SI 0.2 リ リ ー ス 2024年 8月 W A SI 0.2.1 リ リ ー ス W asm O C I A rtifact layout 2025年 W A SI 0.3 リ リ ー ス ? 2025年 2月 G o 1.24 リ リ ー ス W A SI 0.1 リ ア ク タ ー モ ジ ュ ー ル サ ポ ー ト
21 WASI - Wasmを汎用バイナリとして利用するためのAPI仕様 WASI 0.1 - POSIX APIを参考に策定 / ネットワークは未サポート WASI 0.2 - Wasmコンポーネントモデルをベースに再設計 2018年 8月 G o 1.11 リ リ ー ス W asm サ ポ ー ト 2019年 W A SI 0.1 リ リ ー ス 2023年 8月 G o 1.21 リ リ ー ス W A SI 0.1 サ ポ ー ト 2024年 1月 W A SI 0.2 リ リ ー ス 2024年 8月 W A SI 0.2.1 リ リ ー ス W asm O C I A rtifact layout 2025年 W A SI 0.3 リ リ ー ス ? 2025年 2月 G o 1.24 リ リ ー ス W A SI 0.1 リ ア ク タ ー モ ジ ュ ー ル サ ポ ー ト e.g.$ GOOS=wasip2 GOARCH=wasm tinygo build -o hello.wasm hello.go ※Wasmに関して,TinyGoがサポートを先行して行っている