Damus

Recent Notes

Lez profile picture
Is there a way to validate DNS txt records from the browser?

On the other hand, its much lower barrier of entry if you have your own domain to upload a file instead of mocking with the dns entry.
Lez profile picture
For one, we have relays, they have pubkeys, and yet, we still rely on the certificate chain.

In a better world, relay lists should contain the relay host (or better, its IP) AND its pubkey, and those pubkeys should be directly used in diffie-hellmann key exchange when initializing secure connection.

The problem with this approach is that there is - to my knowledge - no technology embedded in browsers by default that achieves it effectively.
Lez profile picture
I'm a plebs.app maxi, this is going to be huge.

Actually nostr is very well positioned for this use-case with being inherently social + blossom servers becoming very common these days.

A way to monetize could be a service that provides extra bandwidth for popular podcasts around the release time when the load exceeds the blossom servers' capacity. Alternatively this task could be done in a crowdsourced way: allow anyone with bandwidth earn sats by providing the extra bandwidth, and you can take a cut for managing the connections. So many ideas and possibilities to explore.

I'm planning to release one episode of a podcast for my local community in January to shill nostr, and see how ready people are for this kind of goodness.
Lez profile picture
Primal doesn't create a relay list event for you. (kind 10002)
You can use jumble.social -> settings -> relay settings to set a few relays
wss://relay.damus.io
wss://relay.primal.net
wss://nos.lol

Then, when you see your profile on njump.me, it should display exactly those same relays. ("seen on")

A product targeted at newbies should do this for you. There is a (good) reason why many people dislike primal. They are good in zero-config startup, but fail in a few other areas miserably.
Lez profile picture
💡 Turns out it's quite simple to write. Not very performant, but will do for now.

import { matchFilter, type Event, type Filter } from "nostr-tools"
export class MemStore {
events: Event[]
constructor() {
this.events = []
}
add(event: Event) {
this.events.push(event)
}
req(filtr: Filter): Event[] {
let r: Event[] = []
this.events.forEach(e => {
if (matchFilter(filtr, e)) {
r.push(e)
}
})
return r
}
}
Lez profile picture
Like your asknostr.site though! Great initiative, might answer my 2nd question :)
Lez profile picture
Thanks for it!
I am developing a library (https://www.npmjs.com/package/nostr-tribes) with the least amount of dependencies. It already depends on nostr-tools (this is its only dependency), and it is not the right time to add a new 8.7megs dependency to ndk (memory cache adapter depends on ndk main package).

In my mind this module should be more like a package that others depend on, instead of a package that depends on code that supports cashu, nutzaps, nip5 and so on.