Avatar
dave
c7da62153485ecfb1b65792c79ce3fe6fce6ed7d8ef536cb121d7a0c732e92df
Walk away from Omelas...

Big release for #python nostr-relay today!

* Added full-text index, compatible with NIP-50

* Added the purple server – the fastest way to serve nostr websockets...

* Added validator to limit "hellthreads"

* Enabled NIP-05 identity provider for LMDB backend

* Made many micro-optimizations to the LMDB backend and json handling.

* Improved compatibility with python < 3.11

* Consolidated and improved query validation

Changelog: https://code.pobblelabs.org/fossil/nostr_relay/doc/tip/docs/CHANGELOG.md

And a new document on performance tuning tips: https://code.pobblelabs.org/fossil/nostr_relay/doc/tip/docs/performance.md

That’s a neat idea. One issue is that everyone would know that you’ve communicated with the bot, because DM metadata is not private.

I would think so. I started aionostr because I wanted an async API that was also easy to use and understand. Async seems to be the better choice for nostr use cases.

As a result, with nostr_bot, it's easy to write all sorts of bots, and run them simultaneously.

nostr_bot would be the more appropriate tool to extend.

I've already written a bot that will mirror events from people you follow. If someone wants to make it more generic, the framework allows for easy extensibility.

https://github.com/davestgermain/nostr_bot/blob/master/nostr_bot/examples/mirror.py

It only mirrors an individual query. It doesn't attempt to page through to the beginning of time.

Would that be useful?

New version of aionostr supports the `naddr` type.

So you can run this to retrieve the event:

aionostr get naddr1qqqqzxrhwden5te0wfjkccte9eekummjwsh8xmmrd9skcq3qljxdldrq885zamfkn82k7zcjs4lrsf9wykrh9e3hq4thh89vlzxsxpqqqp65wyu9u7v

https://pypi.org/project/aionostr/

But they can't force anybody to see the ads, as long as clients only show you pubkeys you follow.

#python nostr-relay 1.11.5 released:

* Support prefix id and author searches

* Several micro-optimizations in the LMDB backend

* Configurable max_limit to limit the number of events returned per REQ. (default: 6000)

* Made Homeserver more reliable

* Simplified storage of verification status

https://pypi.org/project/nostr-relay/

What would that look like?

Yes, all relevant NIPs are supported.

The maximum size of a SQLite database depends on the size of your server — hundreds of gigabytes should be possible (though probably not recommended. You can always switch to PostgreSQL)

"The medium is the message"

It's important to be attuned to how this medium affects what/how we communicate.

On twitter, you can see how the corporation has crafted the medium to encourage or prevent all sorts of things.

Nostr isn't beholden to corporations, but the medium is still being formed by group consensus. At least we have some input into this formation.

There’s going to be a server involved somewhere, right? Even if you could look up a NIP-05 identifier using dns, the dns provider could cancel you.

#python nostr-relay is killer. Supports SQLite, Postgres, and LMDB. 😎

https://code.pobblelabs.org/fossil/nostr_relay/doc/tip/docs/lmdb.md

Is it the bandwidth or the VPS that is expensive?

You can get an enormous dedicated server for 120 euros/month: https://www.hetzner.com/dedicated-rootserver/matrix-px