mirror of https://github.com/hzrd149/blossom.git
BUD-07 Paid storage |
||
---|---|---|
buds | ||
LICENSE.txt | ||
README.md |
README.md
🌸 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 specification 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
Protocol specification (BUDs)
BUDs or Blossom Upgrade Documents are short documents that outline an additional feature that a blossom server may implement.
BUDs
- BUD-00: Blossom Upgrade Documents
- 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-07: Payment required
- BUD-08: Nostr File Metadata Tags
- BUD-09: Blob Report
Endpoints
Blossom Servers expose a few 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
HEAD /media
BUD-05PUT /media
BUD-05Authentication
: Signed nostr event
PUT /report
BUD-09
Event kinds
kind | description | BUD |
---|---|---|
24242 |
Authorization event | 01 |
10063 |
User Server List | 03 |
License
Public domain.