mirror of
https://github.com/nostr-protocol/nips.git
synced 2024-11-09 22:09:06 -05:00
Merge pull request #921 from alexgleason/follows
NIP-02: Rename Contact List to Follow List
This commit is contained in:
commit
730324f487
20
02.md
20
02.md
|
@ -1,12 +1,12 @@
|
|||
NIP-02
|
||||
======
|
||||
|
||||
Contact List and Petnames
|
||||
-------------------------
|
||||
Follow List
|
||||
-----------
|
||||
|
||||
`final` `optional`
|
||||
|
||||
A special event with kind `3`, meaning "contact list" is defined as having a list of `p` tags, one for each of the followed/known profiles one is following.
|
||||
A special event with kind `3`, meaning "follow list" is defined as having a list of `p` tags, one for each of the followed/known profiles one is following.
|
||||
|
||||
Each tag entry should contain the key for the profile, a relay URL where events from that key can be found (can be set to an empty string if not needed), and a local name (or "petname") for that profile (can also be set to an empty string or not provided), i.e., `["p", <32-bytes hex key>, <main relay URL>, <petname>]`. The `content` can be anything and should be ignored.
|
||||
|
||||
|
@ -25,27 +25,27 @@ For example:
|
|||
}
|
||||
```
|
||||
|
||||
Every new contact list that gets published overwrites the past ones, so it should contain all entries. Relays and clients SHOULD delete past contact lists as soon as they receive a new one.
|
||||
Every new following list that gets published overwrites the past ones, so it should contain all entries. Relays and clients SHOULD delete past following lists as soon as they receive a new one.
|
||||
|
||||
## Uses
|
||||
|
||||
### Contact list backup
|
||||
### Follow list backup
|
||||
|
||||
If one believes a relay will store their events for sufficient time, they can use this kind-3 event to backup their following list and recover on a different device.
|
||||
|
||||
### Profile discovery and context augmentation
|
||||
|
||||
A client may rely on the kind-3 event to display a list of followed people by profiles one is browsing; make lists of suggestions on who to follow based on the contact lists of other people one might be following or browsing; or show the data in other contexts.
|
||||
A client may rely on the kind-3 event to display a list of followed people by profiles one is browsing; make lists of suggestions on who to follow based on the follow lists of other people one might be following or browsing; or show the data in other contexts.
|
||||
|
||||
### Relay sharing
|
||||
|
||||
A client may publish a full list of contacts with good relays for each of their contacts so other clients may use these to update their internal relay lists if needed, increasing censorship-resistance.
|
||||
A client may publish a follow list with good relays for each of their follows so other clients may use these to update their internal relay lists if needed, increasing censorship-resistance.
|
||||
|
||||
### Petname scheme
|
||||
|
||||
The data from these contact lists can be used by clients to construct local ["petname"](http://www.skyhunter.com/marcs/petnames/IntroPetNames.html) tables derived from other people's contact lists. This alleviates the need for global human-readable names. For example:
|
||||
The data from these follow lists can be used by clients to construct local ["petname"](http://www.skyhunter.com/marcs/petnames/IntroPetNames.html) tables derived from other people's follow lists. This alleviates the need for global human-readable names. For example:
|
||||
|
||||
A user has an internal contact list that says
|
||||
A user has an internal follow list that says
|
||||
|
||||
```json
|
||||
[
|
||||
|
@ -53,7 +53,7 @@ A user has an internal contact list that says
|
|||
]
|
||||
```
|
||||
|
||||
And receives two contact lists, one from `21df6d143fb96c2ec9d63726bf9edc71` that says
|
||||
And receives two follow lists, one from `21df6d143fb96c2ec9d63726bf9edc71` that says
|
||||
|
||||
```json
|
||||
[
|
||||
|
|
|
@ -22,7 +22,7 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
|
|||
## List
|
||||
|
||||
- [NIP-01: Basic protocol flow description](01.md)
|
||||
- [NIP-02: Contact List and Petnames](02.md)
|
||||
- [NIP-02: Follow List](02.md)
|
||||
- [NIP-03: OpenTimestamps Attestations for Events](03.md)
|
||||
- [NIP-04: Encrypted Direct Message](04.md)
|
||||
- [NIP-05: Mapping Nostr keys to DNS-based internet identifiers](05.md)
|
||||
|
@ -80,7 +80,7 @@ They exist to document what may be implemented by [Nostr](https://github.com/nos
|
|||
| `0` | Metadata | [1](01.md) |
|
||||
| `1` | Short Text Note | [1](01.md) |
|
||||
| `2` | Recommend Relay | |
|
||||
| `3` | Contacts | [2](02.md) |
|
||||
| `3` | Follows | [2](02.md) |
|
||||
| `4` | Encrypted Direct Messages | [4](04.md) |
|
||||
| `5` | Event Deletion | [9](09.md) |
|
||||
| `6` | Repost | [18](18.md) |
|
||||
|
|
Loading…
Reference in New Issue
Block a user