nostr relay
Project description
This is a Python 3.9+ implementation of a nostr relay.
Features
- Stores data in LMDB, SQLite or Postgresql. See Storage
- Scalable to thousands of concurrent clients
- Dynamic allow/deny lists
- Configurable garbage collector
- Configurable event validators
- Full-text indexing
- Can serve as a NIP-05 identity provider
- Support for NIP-42 authentication
- Support for rate-limiting
- Supports more NIPs than any other relay implementation:
- NIP-01 – basic protocol
- NIP-02 – contact lists
- NIP-05 – verifying identity
- NIP-09 – deletion events
- NIP-11 – relay metadata
- NIP-12 – generic tags
- NIP-15 – EOSE
- NIP-20 – command results
- NIP-26 – delegated events
- NIP-33 – parameterized replaceable events
- NIP-40 – expiration events
- NIP-42 – authentication
- NIP-50 – full-text search
- NIP-65 – Relay lists
- Pluggable features, allowing you to use nostr_relay as a library for your own custom implementation
Installation
pip install nostr-relay
To run:
nostr-relay serve
to change the location of the database and other settings, create a yaml config file that looks like this:
and run with nostr-relay -c /path/to/config.yaml serve
Then add ws://127.0.0.1:6969
to your relay list.
(obviously, in production you should use a TLS certificate)
Visit the nostr-relay fossil repository for more information.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
nostr_relay-1.13.tar.gz
(85.7 kB
view hashes)
Built Distribution
nostr_relay-1.13-py3-none-any.whl
(61.6 kB
view hashes)
Close
Hashes for nostr_relay-1.13-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f47e72c620efbaf81c2517dd12d225cdddda6861527681a4b26492e775ab4bcb |
|
MD5 | 028fbd3cbc173d0e7ce868738d5a284c |
|
BLAKE2b-256 | cb4dff0b7b0d748908c8fe810c1c651b6e25f74ebb2bd9e749cf3c97075493e8 |