diff --git a/src/components/Layout.jsx b/src/components/Layout.jsx index d8cbfe9..b36b668 100644 --- a/src/components/Layout.jsx +++ b/src/components/Layout.jsx @@ -29,12 +29,19 @@ const navigation = [ ], }, { - title: 'The Clients', + title: 'Clients', links: [ { title: 'How do clients work?', href: '/clients' }, { title: 'Client comparison list', href: '/clients/comparison' }, ], }, + { + title: 'Relays', + links: [ + { title: 'What are relays?', href: '/relays' }, + { title: 'List of known relays', href: '/relays/list' }, + ], + }, { title: 'Resources', links: [ diff --git a/src/components/QuickLinks.jsx b/src/components/QuickLinks.jsx index 0ea3dee..8859d10 100644 --- a/src/components/QuickLinks.jsx +++ b/src/components/QuickLinks.jsx @@ -1,5 +1,4 @@ import Link from 'next/link' - import { Icon } from '@/components/Icon' export function QuickLinks({ children }) { diff --git a/src/pages/relays.md b/src/pages/relays.md new file mode 100644 index 0000000..535f948 --- /dev/null +++ b/src/pages/relays.md @@ -0,0 +1,14 @@ +--- +title: Relays +description: What are Relays and how do they work +--- + +What are Relays and how do they work? + +--- + +## What are Relays? + +Relays are like the backend servers for Nostr. They allow Nostr clients to send them messages, and they may (or may not) store those messages and broadcast those messages to all other connected clients. + +[//]: # (TODO: IMAGE OF CLIENTS AND RELAYS) diff --git a/src/pages/relays/list.md b/src/pages/relays/list.md new file mode 100644 index 0000000..ac01cbe --- /dev/null +++ b/src/pages/relays/list.md @@ -0,0 +1,58 @@ +--- +title: Relays +description: A list of Nostr relay implementations +--- + +This is a list of all known implementations of the Nostr relay spec + +--- + +## Relays + +Relays are (so far) application agnostic. You can run your own or use any or all +of the public instances. + +### Go + +- [Relayer Basic](https://github.com/fiatjaf/relayer/tree/master/basic): A simple reference relay backed by Postgres +- [Expensive Relay](https://github.com/fiatjaf/relayer/tree/master/expensive): A reference relay that requires payment for registration + +### C# +- [NNostr](https://github.com/Kukks/NNostr): A C# relay + +### Rust + +- [nostr-rs-relay](https://sr.ht/~gheartsfield/nostr-rs-relay/): A minimalistic relay written in Rust that saves data on SQLite +- [søstr](https://github.com/metasikander/s0str): A private nostr relay written in rust, saves all notes from one pubkey and publish them to anyone that requests them + +### Node.js + +- [nodestr](https://github.com/Dolu89/nodestr-relay): A Node.js implementation + +### Typescript + +- [nostream](https://github.com/Cameri/nostream): A nostr relay written in Typescript backed by PostgreSQL (renamed from nostr-ts-relay) +- [Minds Nostr Relay](https://gitlab.com/minds/infrastructure/nostr-relay): A relay for [Minds](https://www.minds.com), an open-source social network + - [Minds Engine - Nostr](https://gitlab.com/minds/engine/-/tree/master/Core/Nostr): Relevant Minds API code for reading/writing Minds posts using Nostr + +### Clojure + +- [me.untethr.nostr-relay](https://github.com/atdixon/me.untethr.nostr-relay): A relay written in Clojure + +### Python + +- [nostrypy](https://github.com/monty888/nostrpy): Relay, client, and other tooling in python +- [nostr_relay](https://code.pobblelabs.org/fossil/nostr_relay/): A Nostr relay written in python, backed by SQLite + +### Kotlin + +- [NostrPostr Relay](https://github.com/Giszmo/NostrPostr/tree/master/NostrRelay): A Kotlin Relay supporting both SQLite and Postgresql +- [knostr](https://github.com/lpicanco/knostr): A nostr relay implemented in Kotlin with support for Postgres and metrics(micrometer) + + + + + + + + diff --git a/src/pages/resources.md b/src/pages/resources.md index ea1e0cd..b267b08 100644 --- a/src/pages/resources.md +++ b/src/pages/resources.md @@ -9,13 +9,15 @@ Other resources from around the web about Nostr ## Nostr repository -The [Nostr repository](https://github.com/nostr-protocol/nostr) is the canonical source of information about the project. +The [Nostr protocol repository](https://github.com/nostr-protocol/nostr) is the canonical home of Nostr. It's a very sparse repository but houses [@fiatjaf's](https://github.com/fiatjaf) original reasoning on why Nostr needs to exist. ## Nostr NIPs The [NIPs repository](https://github.com/nostr-protocol/nips) is the home of all Nostr NIPs. -## Awesome Nostr +## Others + +* [Awesome Nostr](https://github.com/aljazceru/awesome-nostr) is a repository of links for Nostr clients, relay implementations, and more. +* [Nostr Resources](https://nostr-resources.com) covers Nostr basics and links to many other resources. -[Awesome Nostr](https://github.com/aljazceru/awesome-nostr) is a repository of links for Nostr clients, relay implementations, and more.