top of page

Nostr Relay

Software Suite:

Host Any File Type

Chunked Files as Merkle Trees

Users attach a multimedia file to a new post on their client of choice by selecting the file. Nostr clients can convert the selected file attachment into a Scionic Merkle Tree. Its Scionic Merkle Root (hash ID) is included inside the user's Nostr note to cryptographically link the new post to the media attachment.


Both the Nostr note and Scionic Merkle Tree attachment are uploaded to many H.O.R.N.E.T Storage Nostr Relays, decentralizing the storage of text-based Nostr notes and chunked file attachments across many relays without relying on centralized websites like and unchunked file servers like blossom.

Sync Any File

Negentropy then LeafSync

Each file's Merkle Root contains a list of its file chunks as a simple range of Leaf Numbers (1-500). Every file chunk in the tree is represented by a Leaf Number.

Negentropy syncs Merkle Roots & Notes via RBSR. Once new Merkle roots are synced with Negentropy, LeafSync asks the DB which currently stored file chunks correspond to the newly synced Merkle roots. DB responds with a list of leaf numbers for each file to signify which file chunks are already present. LeafSync then retrieves each tree's missing file chunks from peers by sending out requests containing a range of missing leaf numbers for each root/file.

GitNestr & Nestr

Decentralized GitHub-like App

Nestr uses Scionic Merkle Trees to offer a decentralized GitHub-like experience as a desktop app -- powered by Electron, React, and Go -- complete with Nostr profiles and a customizable feed.

Every other attempt at decentralizing GitHub leverages Git Patches, from to Radicle Git. Synchronizing a Git Tree with perfect consistency across many participants cannot be done using Git Patches. On Nestr, the user’s git tree is completely identical to the git tree hosted on each relay — down to every last commit hash, similar to how bitcoin's chain is identical across every full-node.

Nostr Relay

H.O.R.N.E.T Storage Nostr Relays provides relay operators with a GUI dashboard for viewing data storage statistics and adjusting configuration options in a plug-and-play style.

Four diagrams in the panel outline how much data each kind number and file type are occupying. Configuration options for data hosting enable relay operators to granularly control which file types and kind numbers are stored with simple checkboxes.

Interval settings for syncing some types of data quicker than others will also be available, e.g. syncing reactions or zaps faster than large files so that zap & like counts are updated more efficiently on the client-side of many Nostr apps.

Hash Organized
Relay Network


bottom of page