mirror of https://github.com/hzrd149/blossom.git
Add bud-02 User Server List
This commit is contained in:
parent
585e66fe39
commit
79d1543358
26
Nostr.md
26
Nostr.md
|
@ -1,26 +0,0 @@
|
||||||
# Blossom nostr integration
|
|
||||||
|
|
||||||
Blossom uses nostr for public / private key identities. Users are expected to sign authentication events to prove their identity when uploading or deleting blobs
|
|
||||||
|
|
||||||
See [Authorization events](./Server.md#authorization-events)
|
|
||||||
|
|
||||||
## User Server Discovery
|
|
||||||
|
|
||||||
Users should publish a kind `10063` event with a list of ordered `server` tags indicating servers that others users should use when getting their blobs
|
|
||||||
|
|
||||||
### Example
|
|
||||||
|
|
||||||
```json
|
|
||||||
{
|
|
||||||
"id": "e4bee088334cb5d38cff1616e964369c37b6081be997962ab289d6c671975d71",
|
|
||||||
"pubkey": "781208004e09102d7da3b7345e64fd193cd1bc3fce8fdae6008d77f9cabcd036",
|
|
||||||
"content": "",
|
|
||||||
"kind": 10063,
|
|
||||||
"created_at": 1708774162,
|
|
||||||
"tags": [
|
|
||||||
["server", "https://cdn.self.hosted"],
|
|
||||||
["server", "https://cdn.satellite.earth"]
|
|
||||||
],
|
|
||||||
"sig": "cc5efa74f59e80622c77cacf4dd62076bcb7581b45e9acff471e7963a1f4d8b3406adab5ee1ac9673487480e57d20e523428e60ffcc7e7a904ac882cfccfc653"
|
|
||||||
}
|
|
||||||
```
|
|
11
README.md
11
README.md
|
@ -29,6 +29,17 @@ BUDs stand for **Blossom Upgrade Documents**.
|
||||||
|
|
||||||
See the [BUDs](./buds) folder and specifically [BUD-01](./buds/bud-01.md) for a detailed explanation of the endpoints
|
See the [BUDs](./buds) folder and specifically [BUD-01](./buds/bud-01.md) for a detailed explanation of the endpoints
|
||||||
|
|
||||||
|
## BUDs
|
||||||
|
|
||||||
|
- [Core endpoint description](./buds/bud-01.md)
|
||||||
|
- [User Server List](./buds/bud-02.md)
|
||||||
|
|
||||||
|
## Event kinds
|
||||||
|
| kind | description | NIP |
|
||||||
|
| ------------- | -------------------------- | ------------------------ |
|
||||||
|
| `24242` | Authorization event | [01](./buds/bud-01.md.md)|
|
||||||
|
| `10063` | User Server List | [02](./buds/bud-02.md.md)|
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
Public domain.
|
Public domain.
|
||||||
|
|
|
@ -0,0 +1,40 @@
|
||||||
|
BUD-02
|
||||||
|
======
|
||||||
|
|
||||||
|
User Server List
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
`draft` `optional`
|
||||||
|
|
||||||
|
Defines a replaceable event using `kind:10063` to advertise the blossom servers for downloading a user's blobs from.
|
||||||
|
|
||||||
|
The event MUST include an ordered list of `server` tags with the server URL including the `http://` or `https://`.
|
||||||
|
|
||||||
|
The order of these tags is important and should be arranged with the users most "reliable" or "trusted" servers coming first.
|
||||||
|
|
||||||
|
The `.content` is not used.
|
||||||
|
|
||||||
|
```json
|
||||||
|
{
|
||||||
|
"id": "e4bee088334cb5d38cff1616e964369c37b6081be997962ab289d6c671975d71",
|
||||||
|
"pubkey": "781208004e09102d7da3b7345e64fd193cd1bc3fce8fdae6008d77f9cabcd036",
|
||||||
|
"content": "",
|
||||||
|
"kind": 10063,
|
||||||
|
"created_at": 1708774162,
|
||||||
|
"tags": [
|
||||||
|
["server", "https://cdn.self.hosted"],
|
||||||
|
["server", "https://cdn.satellite.earth"]
|
||||||
|
],
|
||||||
|
"sig": "cc5efa74f59e80622c77cacf4dd62076bcb7581b45e9acff471e7963a1f4d8b3406adab5ee1ac9673487480e57d20e523428e60ffcc7e7a904ac882cfccfc653"
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
## Client Integration
|
||||||
|
|
||||||
|
When uploading blobs clients should attempt to upload the blob to all or at least the top 3 server on the list event.
|
||||||
|
|
||||||
|
This ensures that the blob is available in multiple locations in the case one of the servers goes offline.
|
||||||
|
|
||||||
|
## Server Integration
|
||||||
|
|
||||||
|
Servers may use this event kind to discover other servers that a user is uploading to in order to download specific blobs from.
|
Loading…
Reference in New Issue