I've been starting to realize that I don't think I can sustain the free relay offchain.pub by myself long-term, even with funds from the pay-to-relay bitcoiner.social. Nostr relays will need to host files for applications like "github on nostr" and at a certain point I will need to experiment with non-free models for that to work.
This is based on my naive/late realization yesterday that you can trivially include base64 encoded data in a nostr event. That use case will accelerate the server capacity demand growth, probably by A LOT.
A couple things might give me time to delay ending the free model:
- aggressively expiring events off of the relay
- blocking base64 data, which is text like this: Qm9yZWQgYXBlIHNoaXQK
Both options really suck and I don't like the idea of doing either really. Frankly, I really doubt blocking it is possible without at least a high cost in terms of compute. I mean how many cpu cycles do you think it'll take to regex that? Nevermind the inevitable porn-on-nostr that is now going to be hosted by the relay itself, and the operator liability concerns that come along with hosting files. I do want that level of freedom for us all, but if that's the game we're playing I need to spin off another nym for that and do it on a whole new relay for my own opsec.
Anyway, I'm not doing anything imminently, yet. Just thinking out loud here.
I heard about Podverse recently, so I'm finally trying out Alby in firefox to connect to my core lightning node. By default they provide a cloud hosted websocket, but I found their pull request and saw it's just #[0] 's ln-ws-proxy. I'm running that (with nginx) on my node now and have a fully self-hosted direct connection to my lightningd from firefox. Now I can stream podcasts and boost straight out of my own wallet. Fully non-custodial and even without the cloud proxy. Now that's š¤ā”ļø
https://github.com/bleetube/nostream_exporter (work in progress)
To start it is exporting one metric, the total count of events in the events table. I have select queries to add in for these metrics as well:
- top events by kind
- top talker users by pubkey all time
- top talker users by pubkey recently
- count of paid users
I'll implement those and add in more as time permits. I'll also put together a grafana dashboard to chart them out. And if I think of any good metrics to alert on using alertmanager, I'll add those to the repo as well. Might be nice to send myself an alert if a user is spamming the relay, for instance.
Started working on a metrics collector utility and a dashboard with relay stats for Nostream.

nip05 script added two new verified nip05 users today!
#[0] and #[1]
nostr is a little weird so you may not see their nip05 @bitcoiner.social address until a relay you use has their published event 0 that I am seeing on our relay.
The script is pulling directly from postgres now so it's basically instantaneous. I'll keep running it manually for awhile to add more safety logic before putting it on a cronjob or tying it to updates directly (wouldn't that be cool?)
Just saw a base64 encoded image in a kind:0 event with 'picture': 'data:image/jpeg;base64,...
I'd rather avoid running an image hosting service
bitcoiner.social is here to stay, that's the paid relay
The public relay used to be on a subdomain
No it's public
If you canāt reach nostr.bitcoiner.social, itās because that subdomain was deprecated today. The public relay was renamed to wss://offchain.pub
Update your relays. I know most people wonāt, but itās all good. In hindsight, deciding what domains to use by a poll on the bird app is not great ops practice lol.
Autofaucet
offchain.pub has been running strfry for almost two weeks now. Averaging a little under a TB a week currently.

Someone will implement it eventually. The user table in nostream has a ābalanceā column already
Expiring events on the relay cuts down on bandwidth consumption a lot. Not a great option, but probably necessary depending on the situation. Paid relays can afford to keep data long-term
Jesus. pleb public relays arenāt going to last long if thatās the trend
When we were a small project it seemed liked nbd. Now thereās meaningful traffic load and bro I just made up that last domain name on a whim lol
Ah, hindsight.
Tomorrow morning Iāll be flipping on the 302 redirect to officially switch to offchain.pub and deprecate the ānostrā subdomain.
Let's get reckless. Here's the script I wrote to validate nip-05 users who are registered on bitcoiner.social: