Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mruby Nostr Relay

A lightweight, single-binary Nostr relay implementation for mruby.

NIP Support

This relay supports the following Nostr Implementation Possibilities (NIPs):

  • NIP-01: Basic protocol flow
  • NIP-09: Event deletion (kind 5)
  • NIP-11: Relay Information Document
  • NIP-12: Generic tag queries (#e, #p, etc)
  • NIP-16: Event Treatment (ephemeral events 20000-29999)
  • NIP-20: Command results (OK messages)
  • NIP-26: Delegated Event Signing (delegation tag verification)
  • NIP-33: Parameterized Replaceable Events (kind 30000-39999)
  • NIP-70: Protected Events (reject events with ["-"] tag)

Usage

$DATABASE_URL = "host=localhost dbname=nostr"
make run

The relay will start on ws://localhost:8080 by default.

Installation

git clone <repository-url>
cd mruby-nostr-relay

make

Requirements

  • GCC / G++
  • Ruby (for mruby build system)
  • PostgreSQL
  • libsecp256k1
  • libonig (Oniguruma)
  • libssl / libcrypto (OpenSSL)

Debian/Ubuntu

sudo apt-get install gcc g++ make ruby git \
  libsecp256k1-dev libpq-dev libonig-dev libssl-dev

Docker

docker build -t mruby-nostr-relay .
docker run -p 8080:8080 mruby-nostr-relay

License

MIT License

Author

Yasuhiro Matsumoto (a.k.a. mattn)

About

Nostr relay written in MRuby

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages