NIP-5C(旧称NIP-A5)は、Nostr上でWebAssemblyプログラム(“scrolls”)を公開し、発見し、実行するための慣例を定義します。WASM binariesはNostr eventsとして保存され、どのclientでもそれを取得してsandboxed runtimeで実行できます。

仕組み

開発者は、コンパイル済みbinaryを含むNostr eventsとしてWASMプログラムを公開します。clientは標準のNostr queryを通じてこれらのプログラムを発見し、イベントからWASM binaryをダウンロードし、sandboxedなWebAssembly runtimeで実行します。このsandboxにより、scrollsがhost systemへ直接アクセスすることは防がれ、runtimeが明示的に提供したcapabilityだけに制限されます。

ユースケース

  • Portable compute: WASM実行に対応した任意のclientでプログラムを動かす
  • 分散アプリ配布: app storeなしでアプリケーションを公開し、発見する
  • Composable tools: scrollsをつなげて複雑なworkflowを構成する

Demo

demo appでは、scrollsがブラウザ内で動作する様子と、Nostr eventsとして公開されたexample programsを確認できます。


Primary sources:

Mentioned in:

See also: