Home

Awesome

tandem

Nostr relay, written in Go.

NIP Compliance

* = Search is not ordered by quality or treated differently for each kind. Applies only to content field and no special syntax is used (not even * for wildcard)

** = tandem does not currently disallow any users from submitting lists

Goals

Roadmap

Usage

Prerequisites

Installation

Define a configuration file:

[http]
host=localhost # env var: HTTP_HOST
port=5150 # env var: HTTP_PORT

[log]
level=info # env var: LOG_LEVEL, one of debug|info|error, default: info
log_file_path=/path/to/file.log # env var: LOG_FILE_PATH, optional 

[storage]
uri="edgedb://edgedb:<password>@localhost:10701/main" # env var: STORAGE_URI, replace with your edgedb credentials, one of edgedb|memory
skip_tls_verify=true # env var: STORAGE_SKIP_TLS_VERIFY, default: false

Run:

$ tandem -config <path_to_toml_file>

Tests

with edgedb

$ STORAGE_URI=<your_uri> go test -v -tags=storage,edgedb ./...

with memorydb

$ STORAGE_URI="memory://" go test -v -tags=storage,memory ./...

without storage

$ go test -v ./...