Nostr WoT

Загрузка файлов через Blossom

Загрузка файлов через Blossom

nostr-wot-sdk/blossom загружает выбранный файл на явно указанный сервер, подписывает разрешение и возвращает проверенные URL, хеш и размер. Используйте URL в отдельно подписанном профиле или заметке.

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

Пример

typescript
import { uploadToBlossom } from "nostr-wot-sdk/blossom";
import { Nip07Signer } from "nostr-wot-sdk/signers";

export async function upload(file: File, signal: AbortSignal) {
  const blob = await uploadToBlossom(file, {
    signer: new Nip07Signer(),
    servers: ["https://blossom.primal.net"],
    signal,
  });
  return { url: blob.url, hash: blob.sha256, bytes: blob.size };
}

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

Публичная загрузка не шифрует файл. Сначала зашифруйте личное вложение, затем используйте uploadEncryptedBlob. Передавайте данные расшифровки только внутри зашифрованного сообщения. Отменяйте запрос через AbortController при смене экрана или аккаунта. Загрузка не публикует событие Nostr.

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