Confronto

nostrfy vs strfry

Entrambi sono relay Nostr in un unico binario, memorizzano gli eventi in LMDB e parlano lo stesso protocollo. Ma fanno scelte diverse: strfry è il maturo relay C++ con sistema di plugin write-policy, mentre nostrfy è un motore scritto in Rust che raccoglie le funzioni necessarie all’operatore — gruppi, media, REST, gestione — in un unico binario e un unico file di configurazione.

A colpo d’occhio

nostrfystrfry
LinguaggioRustC++
LicenzaMIT o Apache-2.0GPL-3.0
ArchiviazioneLMDB (nessun database esterno)LMDB (nessun database esterno)
ConfigurazioneUn unico nostrfy.toml, ricaricamento a caldo (SIGHUP)strfry.conf, ricaricamento a caldo
NIP annunciati34 (36 implementati, incl. opzionali)11 NIP principali
Gruppi NIP-29 + LiveKitIntegrato—
Server multimediale BlossomIntegrato (disco locale o S3/R2)—
REST API/api/v1 integrato—
API di gestioneNIP-86 JSON-RPC con amministratori delegati—
Negentropy (NIP-77)SìSì — strfry lo ha creato
Politiche di scrittura / pluginListe allow/deny integrate + NIP-86Interfaccia di plugin write-policy
Strumento di migrazionenostrfy migrate-strfrystrfry import / export / sync

Licenza

strfry è sotto GPL-3.0, che impone che le opere derivate siano pubblicate con gli stessi termini. nostrfy ha la doppia licenza MIT o Apache-2.0, quindi può essere incorporato in prodotti closed-source e relicenziato liberamente. Se il tuo relay fa parte di uno stack commerciale o con licenza, spesso è la differenza decisiva.

Configurazione e gestione

  • nostrfy si configura tramite un unico nostrfy.toml : identità, limiti, archiviazione, controllo degli accessi, Blossom e RPC in un unico posto. La maggior parte delle impostazioni si ricarica a caldo con SIGHUP.
  • Ogni opzione è convalidata da nostrfy check prima dell’avvio del relay — tipi errati, limiti impossibili e combinazioni che bloccano l’accesso vengono segnalati con correzioni.
  • Il demone include rotazione dei log, statistiche in tempo reale, endpoint per il controllo dello stato e metriche Prometheus; la CLI gestisce liste di accesso, aggiornamenti e migrazioni.

Funzionalità integrate

Invece di aggiungere servizi esterni, nostrfy include ciò che un relay pubblico di solito richiede:

Gruppi NIP-29 + LiveKit

Gruppi imposti dal relay, eventi di moderazione e metadati di gruppo firmati dal relay, più stanze audio/video via LiveKit.

Server multimediale Blossom

Gli upload indirizzati per contenuto usano un hostname dedicato, su disco locale o in un bucket compatibile S3 (AWS S3, Cloudflare R2).

REST API

Un’API /api/v1 in sola lettura su un thread di lettura dedicato: interroga gli eventi per npub, nevent o naddr, con conteggi, statistiche e ricerca.

Gestione NIP-86

API di gestione JSON-RPC con autenticazione Bearer o NIP-98, concessioni di metodi delegate e codici di invito.

Dove strfry eccelle

strfry resta un’ottima scelta: ha creato il protocollo negentropy, supporta riavvii senza downtime e compressione WebSocket opzionale, e la sua interfaccia di plugin write-policy consente di eseguire logica arbitraria a ogni pubblicazione. Se ti serve una sandbox di plugin e nient’altro di questa lista, strfry è perfetto. Se preferisci gruppi, media, REST e gestione integrati — o ti serve una licenza permissiva — nostrfy è la strada più breve.

Migrazione da strfry

Non devi ricominciare da zero. nostrfy migrate-strfry legge il formato di export di strfry, verifica ogni evento e importa l’intero database — incluse eliminazioni NIP-09, effetti collaterali di moderazione NIP-29 e timestamp di prima apparizione. È offline, supporta il dry-run ed è sicuro da ripetere.