NIP-5D definiert ein postMessage-Protokoll für sandboxed Webanwendungen, sogenannte napplets, die in iframes laufen und mit einer hostenden Anwendung, der Shell, kommunizieren. Es erweitert NIP-5A (Static Websites) um eine Runtime-Kommunikationsschicht, die Web-Apps Zugang zu Nostr-Funktionalität gibt, ohne den private key des Nutzers offenzulegen.

Funktionsweise

Eine Shell-Anwendung lädt ein napplet in einem sandboxed iframe. Das napplet kommuniziert mit der Shell über die postMessage-API des Browsers mithilfe eines strukturierten Nachrichtenprotokolls. Die Shell stellt dem napplet über diesen Kanal Nostr-Signing, Relay-Zugriff und User-Kontext bereit. Die iframe-Sandbox verhindert, dass das napplet direkt auf den private key des Nutzers zugreift, daher fungiert die Shell als Gatekeeper für alle Nostr-Operationen.

Anwendungsfälle

  • Interaktive Nostr-Apps: Apps bauen, die Nostr-Events lesen und schreiben, ohne dass Nutzer ihren nsec einfügen müssen
  • App-Marktplatz: Interaktive Webanwendungen über Nostr-Events verteilen
  • Sandboxed Extensions: Nostr-Clients über Third-Party-napplets um Funktionen erweitern

Primärquellen:

Erwähnt in:

Siehe auch: