Nostr WoT

Подпись через расширение или удалённый аккаунт

Подпись через расширение или удалённый аккаунт

Используйте nostr-wot-sdk/signers для идентификации и подписей. Nip07Signer работает с расширением, Nip46Signer подключает удалённый подписант. Передавайте один подписант другим инструментам SDK в рамках сессии.

терминал
$npm install nostr-wot-sdk@3.0.0 nostr-tools

Пример

typescript
import { Nip07Signer, isNip07Available } from "nostr-wot-sdk/signers";

// Call from a browser button handler, not during server rendering.
export async function signNote(content: string) {
  if (!isNip07Available()) throw new Error("Install or enable a NIP-07 signer");
  const signer = new Nip07Signer();
  const pubkey = await signer.getPublicKey();
  const event = await signer.signEvent({
    kind: 1, content, tags: [],
    created_at: Math.floor(Date.now() / 1000),
  });
  if (event.pubkey !== pubkey) throw new Error("Account changed; review again");
  return event;
}

Примечания по интеграции

Пример возвращает подписанную, но ещё не опубликованную заметку. Обрабатывайте отказ в кнопке и предлагайте явный повтор. PrivateKeySigner предназначен для приложений, которые сами хранят ключи. Интеграция с расширением не требует seed-фразы или приватного ключа.

Справочник и дополнительные параметры