Skip to content

Relay Implementations

Melvin Carvalho edited this page Oct 31, 2023 · 20 revisions

Nostr Relays

Welcome to the Nostr Relays Wiki! This page provides an overview of various Nostr relay implementations across different programming languages and platforms. Nostr relays are essential components of the Nostr network, as they route messages between clients and store events. Explore these diverse implementations to find the one best suited for your project.

Table of Contents

Relayer Basic

  • Description: A simple relay based on relayer backed by Postgres.
  • Repository: Relayer Basic

Rust

Servus

  • Description: A self-contained, single executable, CMS/blogging engine reminiscent of Jekyll which also acts as a personal Nostr relay for your blog posts. Written in Rust.
  • Repository: Servus

TypeScript

Nostream

  • Description: A Nostr relay written in TypeScript. This implementation is production-ready.
  • Repository: Nostream

Strfry

  • Description: A Nostr relay implemented over a protocol extension called "yesstr", which is primarily designed for relay-to-relay communication but could also be used by sophisticated clients.
  • Repository: Strfry

JavaScript/Node.js

Fonstr

  • Package: fonstr
  • Repository: fonstr
  • Description: A simple and efficient Nostr relay server implemented using Fastify and WebSockets.

Fonstr is an experimental relay designed to run on phone and should be used for testing purposes only.

Python

PyRelay

  • Description: A Python implementation of a Nostr relay using asyncio.
  • Repository: PyRelay

Contributing

If you know of any other Nostr relay implementations or have created one yourself, feel free to add them to this list or reach out to the maintainers to get them added. Contributions are always welcome!

Clone this wiki locally