Nostr WoT

Private Nachrichten senden und lesen

Private Nachrichten senden und lesen

@nostr-wot/dm erstellt NIP-17-Nachrichten und prüft deren Entschlüsselung. Beide Teilnehmer benötigen NIP-44-fähige Signierer. Das Beispiel erstellt eine Hülle für den Empfänger und liest sie mit dessen Signierer.

Terminal
$npm install @nostr-wot/dm@2.0.0 nostr-wot-sdk@3.0.0 nostr-tools

Beispiel

typescript
import { buildChatMessage, sealAndGiftWrap, unwrapGiftWrap } from "@nostr-wot/dm";
import type { NostrSigner } from "nostr-wot-sdk/signers";

export async function prepareMessage(signer: NostrSigner, recipient: string, text: string) {
  const me = await signer.getPublicKey();
  const message = buildChatMessage(me, recipient, text);
  return sealAndGiftWrap(signer, recipient, message);
}

// Run with the recipient's signer after receiving a kind-1059 event.
export async function readMessage(signer: NostrSigner, wrap: Parameters<typeof unwrapGiftWrap>[1]) {
  const { message, senderPubkey } = await unwrapGiftWrap(signer, wrap);
  return { from: senderPubkey, text: message.content };
}

Integrationshinweise

Veröffentlichen Sie Kind 1059 auf den über Kind 10050 ermittelten Empfangsrelays. Erstellen Sie eine eigene Hülle für den Verlauf des Absenders. Veröffentlichen Sie niemals innere Nachricht oder Siegel direkt. Der äußere Empfänger-Tag bleibt sichtbar. /cache und /react bieten Verlauf und Ansichten; beenden Sie Abonnements beim Abmelden.

Referenz und weitere Optionen