Merge branch 'fiatjaf:master' into nip-delete-event

pull/37/head
Greg Heartsfield 2021-12-30 19:53:33 -06:00 zatwierdzone przez GitHub
commit fc5ff30143
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: 4AEE18F83AFDEB23
3 zmienionych plików z 26 dodań i 6 usunięć

Wyświetl plik

@ -97,20 +97,26 @@ See the [NIPs](nips) and especially [NIP-01](nips/01.md) for a reasonably-detail
### Relays
- [nostr-relay-poc](https://github.com/fiatjaf/nostr-relay-poc), written in Go, very naïve ([docker-compose files for it](https://gist.github.com/Dolu89/5d98cb929ef7d27c59bf01b14767cda2)).
- [nostr-rs-relay](https://sr.ht/~gheartsfield/nostr-rs-relay/), a minimalistic relay written in Rust that saves data on SQLite.
- [Relayer Basic](https://github.com/fiatjaf/relayer/tree/master/basic), a simple relay based on _relayer_ backed by Postgres.
- [rsslay](https://github.com/fiatjaf/rsslay), a bridge that puts RSS feeds into Nostr.
- [nodestr](https://github.com/Dolu89/nodestr-relay), A Node.js implementation.
### Clients
- [nostr-web-client-poc](https://github.com/fiatjaf/nostr-web-client-poc), a web client written with Vue.
- [nostr-twitter](https://github.com/arcbtc/nostr), a Twitter-like UI that also implements private direct messages. ([nostr.com](https://nostr.com/), [nostwitter.netlify.app](https://nostwitter.netlify.app/#/))
- [branle](https://github.com/fiatjaf/branle), a Twitter-like client also with chat.
- [noscl](https://github.com/fiatjaf/noscli), a basic command-line client written in Go.
- [nostr-chat](https://github.com/emeceve/nostr-chat), a desktop app written in Rust for direct encrypted chat.
- [chastr](https://github.com/dolu89/chastr), a mobile directed encrypted chat app written in Xamarin.
- [nostr-twitter](https://github.com/arcbtc/nostr), a Twitter-like UI that also implements private direct messages.
### Libraries
- [nostr-tools](https://github.com/fiatjaf/nostr-tools), a JavaScript client that abstracts the relay management code for use by clients.
- [NNostr](https://github.com/Kukks/NNostr), a C# Nostr library.
- [go-nostr](https://github.com/fiatjaf/go-nostr), a Go library that implements relay management, plus event encoding and signing utils.
- [nostr-rs](https://github.com/futurepaul/nostr-rs), a non-functional Rust implementation of the nostr protocol.
- [nostr-rs](https://github.com/futurepaul/nostr-rs), a Rust implementation of the nostr protocol.
- [relayer](https://github.com/fiatjaf/relayer), a server framework for writing custom relays.
### Tools

Wyświetl plik

@ -66,6 +66,7 @@ Clients can send 3 types of messages, which must be JSON arrays, according to th
"#e": <an event id that is referenced in an "e" tag>,
"#p": <a pubkey that is referenced in a "p" tag>,
"since": <a timestamp, events must be newer than this to pass>,
"until": <a timestamp, events must be older than this to pass>,
"authors": <a list of pubkeys, the pubkey of an event must be one of these>
}
```
@ -100,5 +101,3 @@ A relay may choose to treat different message kinds differently, but it should d
- Clients should not open more than one websocket to each relay. It also is advised that clients do not open more than 3 subscriptions to the same relay. 3 is enough for most use cases and relays should impose limits to prevent over usage by clients.
- The `tags` array can store any kind of tag the message may be related to. This NIP defines `"p"` — meaning "profile", which points to a pubkey of someone that is referred to in the event —, and `"e"` — meaning "event", which points to the id of an event this event is quoting, replying to or referring to somehow.
- The `<recommended relay URL>` item present on the `"e"` and `"p"` tags is an optional (could be set to `""`) URL of a relay the client could attempt to connect to fetch the tagged event or other events from a tagged profile. It MAY be ignored, but it exists to increase censorship resistance and make the spread of relay addresses more seamless across clients.
- If a message contains an @-prefixed readable name in the body of it — for example, _"hello @bob and @carol"_ — and then 2 or more `"p"` tags, the client MAY replace the text of "@bob" and "@carol" with links to the 2 `"p"` pubkeys, in the order they're found. Or it MAY just show the list of tags somewhere on the side of the note.
- If a message contains 2 or more `"e"` tags, the client MAY interpret it as being a message that belongs to the message thread initiated by the first `"e"` event, and a direct reply to the second `"e"` event.

15
nips/06.md 100644
Wyświetl plik

@ -0,0 +1,15 @@
NIP-06
======
Basic key derivation from mnemonic seed phrase
----------------------------------------------
`draft` `optional` `author:fiatjaf`
[BIP39](https://bips.xyz/39) is used to generate mnemonic seed words and derive a binary seed from them.
[BIP32](https://bips.xyz/32) is used to derive the path `m/44'/1237'/0'/0'` (according to the Nostr entry on [SLIP44](https://github.com/satoshilabs/slips/blob/master/slip-0044.md)).
This is the default for a basic, normal, single-key client.
Other types of clients can still get fancy and use other derivation paths for their own other purposes.