Загрузка файлов через 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.