H.O.R.N.E.T Storage Nostr Relay Launch🐝

Live Demo of Panel 📟

https://hornetstorage.net/

Nostr Relay & Panel in Alpha 💾

https://github.com/HORNET-Storage/hornet-storage

https://github.com/HORNET-Storage/hornet-storage-panel

Toggleable Storage Support 🎛️

- Unchunked files as Blossom Blobs🌸

- Chunked files as Scionic Merkle Trees🎄

https://v.nostr.build/BRQ0D.mp4

Reply to this note

Please Login to reply.

Discussion

Throwing me an error (Windows 7, Brave Browser)

"This site can’t be reached

hornetstorage.net’s DNS address could not be found.

Diagnosing the problem.

DNS_PROBE_POSSIBLE"

FYI

The DNS of hornetstorage.net will be updated in 48 hours.

In the meantime, check out the web panel demo here: http://51.222.245.101:9002/

Is this a GUI to configure and keep tabs on my own relay?

Yes — and to configure it.

It looks so good. Having some sort of "front-end" on a relay is something I immediately knew was going to be critical early on. I'm glad someone made that happen.

🙏 thank you.

The configurability is key. People can decide what they want to host, from kind numbers to file extensions — they can toggle each one of them on or off.

👀

nostr:note1mdqad2488k5gh49uxywmrcww2ga08s4xncjmhzvvdqm385gn80uq0q8zwh

The DNS of hornetstorage.net will be updated within 24-48 hours.

In the meantime, check out the web panel demo by pasting this server IP into your browser on desktop or mobile:

51.222.245.101:9002/

Relay operators decide what they want to host, from kind numbers to file extensions — each can be toggled on & off. 🎛️

Why is it called hornet? Will it end up stinging?

This looks awesome. I haven't looked at any if the code yet but I'm really interested in how this works

You said it supports chunked and unchunked files but how do the endpoints work?

Because blossom doesn't require that files be stored unchunked. Only that they are served via http under the unchunked hash. So it could support both

Either way I'd love to get in contact any discuss this

By chunked, we mean cryptographically verifiable chunks like merkle trees. Blossom is just a hash of the whole data itself. Chunked files are referenced by their merkle root hash.

We’ve evolved nostr:npub1h0rnetjp2qka44ayzyjcdh90gs3gzrtq4f94033heng6w34s0pzq2yfv0g to support either or in a unified way. In the next few days, more documentation and a NIP will be released explaining how it all works in a modular way.

This will be more like a “launch week” with so much more coming. Stay tuned! 🚀

I'm really curious what the "unified way" is because its possible that it could be 100% compatible with the blossom api spec.

Since we don't have to worry about hash collisions, it could serve files under both the unchunked and merkle root hashes

Either way I can't wait to see

I bet you’re gonna love it 😁

We’re almost done. We mostly mimicked the same API endpoints Blossom uses, yes. It’ll be easier to explain when the documentation is ready in a few days!

Sending raw blobs over a network is straightforward as they are contiguous blocks of binary data without internal structure, simply transmitted as a byte stream. In contrast, Merkle trees require serialization because their hierarchical structure and node relationships must be preserved and understood by the receiver, which cannot be achieved with a raw byte stream alone.

This is why Blossom cannot support Merkle Trees. Although, it’s fine — Merkle Trees are only necessary for large files anyway. We kept both standards alive. 😁

👀

👀

nostr:note1mdqad2488k5gh49uxywmrcww2ga08s4xncjmhzvvdqm385gn80uq0q8zwh

Would this be a great fit for NIP-29 community admins?

The kinds specified in NIP-29 are not implemented (at least to my knowledge) but that's an interesting use case for sure. Maybe in the future.

Do NIP-29 community admins run a relay? If not, then I don’t think they need to run this relay dashboard panel.

Although, I will look adding NIP-29 support to the nostr:npub1h0rnetjp2qka44ayzyjcdh90gs3gzrtq4f94033heng6w34s0pzq2yfv0g relay — we want to support public groups/communities as a feature too. I just need to learn about NIP-29 a bit more first.

will look into*

NIP-29 is not suitable for secure private group chats. We need MLS cryptography for that.

Public group chats could be done with NIP-29, but group-ids can conflict if two people use the same ID name.

Would be wiser to start the group-id with the pubkey of the group’s admin — that way group IDs won’t conflict on accident.

There may also be a better way to find the new group chat relay if it goes down, but I’ll release more on that late next month.

Amazing work! This just breathes innovation...

Why is it called hornet? Will it end up stinging?

Why is it called hornet? Will it end up stinging?