# hashtree-blossom
Blossom protocol client for hashtree - upload/download blobs with NIP-98 auth.
[Blossom](https://github.com/hzrd149/blossom) is a simple blob storage protocol. This crate provides a client for uploading and downloading blobs to Blossom servers.
## Features
- Upload blobs with NIP-98 authentication
- Download blobs by SHA256 hash
- Check blob existence
- List blobs by pubkey
## Usage
```rust
use hashtree_blossom::BlossomClient;
use nostr::Keys;
let keys = Keys::generate();
let client = BlossomClient::new(keys);
// Upload
let hash = client.upload("https://blossom.example.com", &data).await?;
// Download
let data = client.download("https://blossom.example.com", &hash).await?;
// Check existence
let exists = client.has("https://blossom.example.com", &hash).await?;
```
Part of [hashtree-rs](https://git.iris.to/#/npub1xdhnr9mrv47kkrn95k6cwecearydeh8e895990n3acntwvmgk2dsdeeycm/hashtree).