mirror of https://github.com/hzrd149/blossom.git
bud09: rehosting and blob adoption.
This commit is contained in:
parent
d9a53bda1c
commit
9d7b3588c0
|
@ -0,0 +1,29 @@
|
|||
# BUD-09
|
||||
|
||||
## Rehosting or blob adoption
|
||||
|
||||
`draft` `optional`
|
||||
|
||||
Defines a Nostr event for announcing that a file is being rehosted on some other server or that it has been adopted by some other pubkey.
|
||||
|
||||
### Adoption
|
||||
|
||||
Adoption means the act of declaring that one also intend to keep hosting a file in their Blossom servers.
|
||||
|
||||
For example:
|
||||
|
||||
1. `bob` publishes a note with id `<x>` containing a URL to `https://bob.blossom/<hash>`;
|
||||
2. Later `alice` sees that post and decides to keep that file alive by uploading it to her server: `https://alice.blossom/<hash>`;
|
||||
3. After uploading it, `alice` publishes an event `{"kind": 1063,"tags":[["e","<x>"]]}`, which means she has adopted all the media files contained in event `<x>`;
|
||||
4. Now when `https://bob.blossom/<hash>` is not available anymore, clients can fetch `{"kinds":[1063],"#e":["<x>"]}` to learn who has adopted that and then proceed to look for the blob in that person's Blossom servers.
|
||||
|
||||
### Rehosting
|
||||
|
||||
A more flexible approach means not committing to hosting a file forever, but only giving users a second choice in case the first server is unavailable.
|
||||
|
||||
For example:
|
||||
|
||||
1. `bob` publishes a note with id `<x>` containing a URL to `https://bob.blossom/<hash>`;
|
||||
2. Later `alice` sees that post and decides to keep that file alive by uploading it to some public server and paying for its storage out of her pocket for a couple of years: `https://public.blossom/<hash>`;
|
||||
3. After uploading it, `alice` can publish an event `{"kind":1062,"tags":[["e","<x>"]],"content":"https://public.blossom/<hash>"}` and forget about it.
|
||||
4. Now when `https://bob.blossom/<hash>` is not available anymore, clients can fetch `{"kinds":[1062],"#e":["<x>"]}` to learn who what other server might be storing the same file.
|
Loading…
Reference in New Issue