Awesome
🌸 Blossom - Blobs stored simply on mediaservers
Blossom uses nostr public / private keys for identities. Users are expected to sign authorization events to prove their identity when interacting with servers
What is it?
Blossom is a spec for a set of HTTP endpoints that allow users to store blobs of data on publicly accessible servers
What are blobs
Blobs are packs of binary data addressed by their sha256 hash
How does it work?
Blossom Servers expose four endpoints for managing blobs
GET /<sha256>
(optional file.ext
) BUD-01HEAD /<sha256>
(optional file.ext
) BUD-01PUT /upload
BUD-02Authentication
: Signed nostr event- Return a blob descriptor
HEAD /upload
BUD-06GET /list/<pubkey>
BUD-02- Returns an array of blob descriptors
Authentication
(optional): Signed nostr event
DELETE /<sha256>
BUD-02Authentication
: Signed nostr event
PUT /mirror
BUD-04Authentication
: Signed nostr event
PUT /media
BUD-05Authentication
: Signed nostr event
Protocol specification (BUDs)
BUDs stand for Blossom Upgrade Documents.
See the BUDs folder and specifically BUD-01 and BUD-02 for a detailed explanation of the endpoints
BUDs
- BUD-01: Server requirements and blob retrieval
- BUD-02: Blob upload and management
- BUD-03: User Server List
- BUD-04: Mirroring blobs
- BUD-05: Media optimization
- BUD-06: Upload requirements
- BUD-08: Nostr File Metadata Tags
Event kinds
kind | description | BUD |
---|---|---|
24242 | Authorization event | 01 |
10063 | User Server List | 03 |
License
Public domain.