Avatar
Blake
b2dd40097e4d04b1a56fb3b65fc1d1aaf2929ad30fd842c74d68b9908744495b
#Bitcoin #Nostr #Freedom wss://relay.nostrgraph.net

I think the concept of scoping (like map part of map/reduce) sits above this. Scope by relay/s, maybe a list/group/channel, by N degree following network, etc.

Some of these are sorting/ordering focused, while some could also be a mix of sort/order and/or filtering/dropping (like trustrank below M).

I think full time filters should exist (regex, keywords, blocklists, muted, etc), and scopes or algos can likely filter additional (but must filter your full time filters).

Reminder: Twitter is blocked in Russia. This is one way to get access. https://github.com/xnaas/nitter-instances

May seem weird to be promoting the bird, however Nostr needs to remain censorship resistant to state based actors.

#[0]​ for nodeless.io, do you have documented webhook payload JSON? I can see the CRUD APIs, just not what the webhook should expect.

Does it return the same as the types GET _type_ Request for each?

I’ve build a POC CDN that can support 401 Unauthorised / 402 Payment Required. It’s centralised, however can support custom domains. It uses NIP98 HTTP AUTH.

I have a local version that’s more advanced, but not yet ready to release. Mostly because I’m still working out a cross-compatible payment flow for lightning - something like LSAT, but with Nostr auth instead of receipts and cookies (which can be shared).

https://github.com/blakejakopovic/nostr_paywall_example

Unsure if related but I saw yesterday they were rolling our extensions over the next few days to everyone.

I’ve just added a Dockerfile for nostcat, so you can run nostcat from a socket image instead of installing go and compiling. It’s only 30mb compiled.

Once a few more people can test it and it’s all good, I can maybe release a pre-compiled docker image.

https://github.com/blakejakopovic/nostcat

Anyone have a Nostr Tor onion address relay? I’m testing a PR to add support for nostcat.

If you’re not sure what WebLN is, below is a good primer.

My only next question is when will we get serious a web browser option that isn’t failzilla or gloatware? Safari extensions have issues too. These corporations are literally stonewalling alternative browser payment integrations where they don’t get a cut.

https://medium.com/@pavan.techie/making-bitcoin-transactions-smart-with-structured-metadata-1c3be0ab428

It’s also used by snort and Nostr web clients to support paying invoices and zapping.

https://github.com/v0l/snort/blob/7a717a5c562c37806678844d24bc8bbf5d2af4c7/packages/app/src/Wallet/WebLN.ts

I haven’t looked into anything further, however it’s possible it’s due to vpn latency.

Seems a little like an anti-pattern. Isn’t a profile just a Nostr key?

I was a little surprised to see upload profile image as well. Could it instead load from my Nostr profile?

Well, in terms of being an operator of a relay, it’s hard to manage via the command line and SQL queries. If you’re offering white label relay services, your customers likely need some admin tools and/or APIs to help them perform common tasks. They are unlikely to have developer or sysop skills.

In terms of the community users, ideally it’s just an in app view most Nostr clients can support without much effort. Most already allow limiting which relay data you are seeing at present, and mixing relays. To be more like discord/telegram/subreddit/etc, there needs to be some kind of channel or topic dividers. Otherwise it’s just an event stream. I feel that communities often need some structure to function best.

I’d start with a white label relay-as-a-service provider, where it’s targeted toward an individual or business relay where only they can publish, or alternatively with a community join mechanism, which grants access to either read, publish or both.

We’re lacking the client UI to select which relays to post to today, so perhaps the relay can have publish rules/filters to only accept events being posted in relation to existing channels - similar to discord, slack or teams. We’re also lacking client channel support.

You can moderate as much as you like. Delete events from the relay (abuse, time based, spam, etc), block users, promote moderators, etc. you can review all reports. You can charge to publish events (likely just as a spam deterrent) or even a regular membership fee. Basically a relay administration portal.

The client app UX would be intended to only show data from that single relay (at a time) - which prevents external events (like those from outside the community) from showing to users. Obviously users can opt to see those events too if desired.

Ultimately we need more relays that are topic, purpose, or community focused - and we need to make starting a new relay as easy as possible - all while avoiding wider network censorship or decentralised moderation. We need a way to, not only follow someone, but also follow topics or join communities - or risk Nostr staying an event stream.

I’m basically trying to write a standard Nostr event decomposition capability that extracts out all the data into a standard object. Some information is missing or requires queries/requests - like a url content-type, or root event author, etc. That can be enabled/triggered on demand.

Ideally it can be used for more complex rendering of events too. I added a basic html output field that‘a basically find and replace/wrap a tag. I’d like to see if others want to share the approach before I try lock anything down.

Updated my Nostr Event parser POC. Now extracts events, relays, bech-32 encoded nostr: entities.

If you want to get an idea of how much data a single fairly short event can parse into.. it’s worth a look. It’s kind of like an AST for Nostr events - that ideally can be used by rendering engines or whatever.

May look at adding #[0]​ ‘s NDK to optionally query pubkeys/events for more info.

https://github.com/blakejakopovic/nostr_event_parser

Also, I’m not sure if mempool accounts for it, however you can bump transaction fees using a child transaction.

Let’s say I pay 150sat/vB, realise i need it sooner, I bump it with a second transaction for 50sat/vB, being slightly imprecise, I’m not sure if mempool counts that as a 200sat/vB or 150 and 50 in their statistics. So many of the smaller transaction fees could be trying to bump (stuck) existing higher fee transactions too. You could write a script to investigate it.

Obviously two transactions means more data, so eventually they clear and get mined and the transaction count can drop, as people’s initial transaction fee is higher/better calculated based on their needs.