Avatar
Ademan
2cb30c36438bad4a2a5107bc98f5cebe6a0229b0554d8cfbd1c99aa3cc7ecec1
Neanderthal hacking on Bitcoin stuff. LNHANCE please!

nostr:nprofile1qqsf03c2gsmx5ef4c9zmxvlew04gdh7u94afnknp33qvv3c94kvwxgspz4mhxue69uhhyetvv9ujuerpd46hxtnfduhsz9rhwden5te0wfjkcctev93xcefwdaexwtcpzdmhxue69uhk7enxvd5xz6tw9ec82c303dhy7r What's going on when I upload media using coracle? I got a prompt from nos2x about signing a "POST" message. What nip is that?

(Also kind of amusing that we're now re-implementing HTTP request/response methods inside websockets lol)

Could be, or the relay operates on a whitelist (more plausible imho, I haven't done anything I could imagine would warrant being blacklisted)

weird, the bips repo still has authors, but I could see an argument for making it about ideas, not people?

Replying to Avatar Ademan

test2

Never tried to debug websockets before, but at least relay.orangepill.dev looks reasonable

["OK","7604fef7067a081a2271876212df761042ea9208b91c08a38b86b2507300d299",false,"blocked: pubkey not admitted"]

Interesting I don't see this "OK" message in nip-01 but coracle understands it so it's probably specified elsewere. (Who thought "OK" was a good code for a fallible response? lol)

Funny, I ended up with two rejections too, but they're different relays. I wonder if 500 errors end up being shown as rejections in coracle...

That's a new one, rejected your note?... was it spicy or do you think it was a technical issue?

Replying to Avatar Ademan

It's still just a toy (and will never be more...) but it's here: https://github.com/Ademan/nostail

You can use it like so `cargo run -- --relay wss://relay.damus.io --kind 1 --kind 0 --content --stats`

the `--stats` option makes it dump kind statistics at the end, like the earlier version.

The p key will pause and unpause the stream, ctrl+c is handled manually, which feels dirty but I guess it's necessary?

Mildly amused that I saw the above roll in while I was running it

```

Kind 1 => Ah, the nostalgia of "Friends" lives on! It seems that Jennifer Aniston and David Schwimmer decided to pay tribute to their fellow castmate Matthew Perry with a little inside joke. They posted a photo of a text conversation between them, reenacting a classic gag from the show. It's heartwarming to see the bond that still exists between these actors after all these years. I guess some friendships really do stand the test of time, just like Central Perk's lumpy couch.

Kind 1 => Oh-lala again đŸ›Šī¸đŸ˜… Where you going to this time?

Kind 1 => It's still just a toy (and will never be more...) but it's here: https://github.com/Ademan/nostail

You can use it like so `cargo run -- --relay wss://relay.damus.io --kind 1 --kind 0 --content --stats`

the `--stats` option makes it dump kind statistics at the end, like the earlier version.

The p key will pause and unpause the stream, ctrl+c is handled manually, which feels dirty but I guess it's necessary?

Kind 0 => {"name":"Luca Villo Villani","about":"Just a sailing geek.","picture":"","nip05":"villo001_at_mastodon.uno@mostr.pub"}

Kind 1 => Russia's Dark Secrets Revealed - Executing Its Own Soldiers! | The Gaze https://benborges.xyz/2023/11/15/russias-dark-secrets.html

```

Replying to Avatar Ademan

Neat, https://github.com/rust-nostr/nostr/ is pretty nice, cobbled this together fairly quickly. My main pitfall, aside from doing dev on a pine64 (because I love pain/want to isolate rustup) was that adding a relay to a RelayPool does not cause it to be connected to, you need to call RelayPool::connect() Definitely not what I expected, though I suppose it's reasonable.

```

...

event kind 1!

event kind 3!

event kind 6!

event kind 7!

event kind 9735!

event kind 0!

event kind 7!

event kind 30078!

^CCtrl+C

Kind 0 => seen: 25

Kind 1 => seen: 168

Kind 3 => seen: 35

Kind 4 => seen: 23

Kind 5 => seen: 6

Kind 6 => seen: 38

Kind 7 => seen: 131

Kind 13194 => seen: 1

Kind 1984 => seen: 1

Kind 9735 => seen: 20

Kind 10002 => seen: 15

Kind 30000 => seen: 3

Kind 30001 => seen: 1

Kind 30311 => seen: 1

Kind 1311 => seen: 2

Kind 30023 => seen: 1

Kind 30078 => seen: 11

Kind 1000 => seen: 13

Kind 1009 => seen: 1

Kind 5000 => seen: 1

Kind 5001 => seen: 2

Kind 5002 => seen: 2

Kind 5900 => seen: 1

Kind 6002 => seen: 2

Kind 6666 => seen: 1

Kind 7000 => seen: 6

Kind 30024 => seen: 1

Kind 30315 => seen: 3

Kind 38301 => seen: 10

```

(why aren't you using nostr_sdk::Client like the docs show? because relay connections are logically distinct from your keys, and in this case I don't even have a key pair)

It's still just a toy (and will never be more...) but it's here: https://github.com/Ademan/nostail

You can use it like so `cargo run -- --relay wss://relay.damus.io --kind 1 --kind 0 --content --stats`

the `--stats` option makes it dump kind statistics at the end, like the earlier version.

The p key will pause and unpause the stream, ctrl+c is handled manually, which feels dirty but I guess it's necessary?

Neat, https://github.com/rust-nostr/nostr/ is pretty nice, cobbled this together fairly quickly. My main pitfall, aside from doing dev on a pine64 (because I love pain/want to isolate rustup) was that adding a relay to a RelayPool does not cause it to be connected to, you need to call RelayPool::connect() Definitely not what I expected, though I suppose it's reasonable.

```

...

event kind 1!

event kind 3!

event kind 6!

event kind 7!

event kind 9735!

event kind 0!

event kind 7!

event kind 30078!

^CCtrl+C

Kind 0 => seen: 25

Kind 1 => seen: 168

Kind 3 => seen: 35

Kind 4 => seen: 23

Kind 5 => seen: 6

Kind 6 => seen: 38

Kind 7 => seen: 131

Kind 13194 => seen: 1

Kind 1984 => seen: 1

Kind 9735 => seen: 20

Kind 10002 => seen: 15

Kind 30000 => seen: 3

Kind 30001 => seen: 1

Kind 30311 => seen: 1

Kind 1311 => seen: 2

Kind 30023 => seen: 1

Kind 30078 => seen: 11

Kind 1000 => seen: 13

Kind 1009 => seen: 1

Kind 5000 => seen: 1

Kind 5001 => seen: 2

Kind 5002 => seen: 2

Kind 5900 => seen: 1

Kind 6002 => seen: 2

Kind 6666 => seen: 1

Kind 7000 => seen: 6

Kind 30024 => seen: 1

Kind 30315 => seen: 3

Kind 38301 => seen: 10

```

(why aren't you using nostr_sdk::Client like the docs show? because relay connections are logically distinct from your keys, and in this case I don't even have a key pair)

I know the answer is probably just "write one yourself" but is there a tool to just tail the events coming in to a relay and watch the json roll in? (maybe with a pause button and some simple filters) I want to look at what NIPs are actually in use, basically.

Replying to Avatar mambru

https://lists.linuxfoundation.org/pipermail/bitcoin-dev/2023-November/022152.html

Interesting comment by Peter Todd when discussing the possible use of nostr as a new protocol for the bitcoin-dev mailing list. His comments are not particular to that usage though:

"

Strong NACK on nostr. It's a badly designed, centralized, protocol that needs a

significant redesign to be usable. While off topic for this mailing list, some

of its many issues include:

* Reliance on single-key, cryptography that often results in people having

their keys compromised. This is a serious problem in the context of

bitcoin-dev, where faked messages published could easily have market-moving

results.

* Inability to mirror relays: since nostr deliberately ignores the lessons of

blockchains, there is no way to be sure that you have a complete set of

messages from a given person, for a given topic, etc.

* Highly centralized design: since mirroring relays isn't reliable, in reality

nostr operates in a highly centralized fashion, dependent on a tiny number of

relays that can't be easily replaced if taken down.

"

He was replying to this proposal by nostr:npub19jescdjr3wk552j3q77f3awwhe4qy2ds24xce773exd28nr7emqsm2pt7r (I believe).

nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6 nostr:npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s nostr:npub1l2vyh47mk2p0qlsku7hg0vn29faehy9hy34ygaclpn66ukqp3afqutajft nostr:npub1qqqqqqyz0la2jjl752yv8h7wgs3v098mh9nztd4nr6gynaef6uqqt0n47m nostr:npub1qny3tkh0acurzla8x3zy4nhrjz5zd8l9sy9jys09umwng00manysew95gx

Yeah that was me, I disagree with most of nostr:nprofile1qqsve2jcud7fnjzmchn4gq52wx9agey9uhfukv69dy0v4wpuw4w53nqpz3mhxue69uhhyetvv9ujuerpd46hxtnfduqs7amnwvaz7tmwduh8xarj9e3hyqg6waehxw309aex2mrp0yhx7unpdenk2urfd3kzuer9wc5cyenz 's objections, but if we had key delegation I could have replied to this days ago when it was fresh 😉 (I was away from my key-carrying PC, because key handling is so important).

It's kind of a moot point anyway because we don't have 6 months like I mistakenly thought, but instead more like 6 weeks.

Concept: out-of-band styling information encoded into a tag for kind 1.

It seems fairly different from the data other tags carry, but I don't think there's any fundamental reason a multi-character tag couldn't carry that kind of data. (Single character tags shouldn't, because they may be indexed, per NIP-12)

Ack? Nack?

I kind of like out-of-band styling because it can be backwards compatible for plain text systems, and is agnostic about input format (markdown, some kind of WYSIWYG editor, etc).

I know there are several cons, but I find those pros compelling.

Replying to Avatar 7fqx

no lies detected, although "failure" is harsher than deserved. "we're still early"

nostr will absolutely need to attract a wider set of interest groups to succeed, though.

One click backups of threads would be a nice client feature

> In P2P if you ARE the server. Its the same thing.

Only in a very reductive sense. The accessibility requirements alone for nostr relays vs a P2P node are huge difference, and your phone does *not* need to remain online constantly to participate in Freenet (the only one of the bunch I'm willing to speak authoritatively about). The network stores the data, not just relays it.

I agree freenet is probably too heavy to run on a phone but you can run a gateway, problem solved, and you have far more flexibility for how you run such a gateway, it can be totally private to you, very different from running a relay.