00
nicodemus
00000206705ab9e737fbc9bad2a25ddc17f47b15c594eae3ad65654336993b19
Not important.

Ah… and also you can have a single npub “address” resolve any of N servers, as well?

If so, that’s huge! Root btc nodes need to be on this pronto in addition to dns.

Right… with blossom, tho, it’s possible to have static data replicated, tho, right? Doesn’t help with anonymity per se, but does make the data anti-fragile.

So if the data in question was executable code - a script maybe - and then paired with a similarly distributed database (like SQLite)… you could have the beginnings of a distributed app. The database just needs to be filled with CRDTs that can be merged however…

Yeah… if I’m understanding this correctly, you could use this as an address scheme to a distributed app.

Replying to Avatar calle

Huge milestone: First demo of Nostr Web Services (NWS) bringing TCP to Nostr. With NWS, you can host any existing web application on Nostr without having to use DNS or even announce your public IP to the world, simply by sharing your service's npub (or nprofile).

Try it out the demo yourself. Here is a Cashu test mint running with NWS. Let's use curl to retrieve the mint's information. The request travels from your computer to the public NWS entry relay, then through nostr to the service's NWS exit relay. At the other end is a Cashu mint with HTTPS encryption.

```

curl -s -x socks5h://relay.8333.space:8882 https://nprofile1qqs8a8nk09fhrxylcd42haz8ev4cprhnk5egntvs0whafvaaxpk8plgpzemhxue69uhhyetvv9ujuwpnxvejuumsv93k2g6k9kr/v1/info --insecure | jq

```

I can't stress this enough: THE MINT RUNS BEHIND HTTPS!

The NWS entry relay can't read your traffic. It's encrypted. We can host public entry relays that can be used by anyone.

This means we can plug the entire internet to it 🌐.

Let's plug it into Cashu for now. Nutshell wallet supports socks5 proxies (that's how it uses Tor). By setting the public entry relay as the proxy, the wallet can now connect to a mint's npub/nprofile and communicate with it via NWS.

This is going to be so freaking cool. And it's going to be a lot more useful than just for Cashu. There are still bugs and issues that need to be ironed out but the code is coming out soon. Watch this space.

Can you give a rundown of how this actually works? I am struggling with so many parts…

What does “bringing TCP” have to do with http hosting? They are two totally different layers.

How is data actually hosted? *is it hosted*? Or just relayed from an actual http host? Is this what you mean by TCP? That the relay will relay socket data? That’s… questionable… could lead to all sorts of misuse?

Thoroughly confused.

Could not agree more. To add some questionable supporting evidence, pricing in bonds and commodities (forex, too, in certain pairs) is suggesting big movements around august.

Then there is the yield curve and unemployment numbers moving in the direction of “oh, shit” with >95% accuracy over 120 years.

Then there is the geopolitical buildups happening in EU and Asia (China & Japan) - tho not much of a timeline can be seen from that, only the buildup.

Its crescendoing. The suspense is terrible! I hope it lasts…

Which heatsink? That looks much more reasonable than the 80mm monstrosities on mine.

You’re confusing stubbornness with conviction. They are very different.

Conviction is a requirement for progress. It requires constant testing and reevaluation under new info. For this reason, it craves new experiences and ideas. It hardens it. Emboldens it. If it fails any tests, the conviction dies. With time, conviction grows.

Stubbornness is indifferent to progress. It does not care about new data - in fact, it hates it. It runs away from tests and experiences. It wants to live no matter the cost. It lashes out at anything that threatens it. With time, it weakens.

Both react to time. Time has a way of eroding all of the weak things away, and only the strong things remain. Conviction is strength.

Your declaration, itself, is a conviction. You should hope that it’s not stubbornness.

Old people are just grumpy because it can be frustrating watching younger people repeat the same mistakes they made. Those old people aren’t yet old enough to realize that those mistakes are a built-in cost towards growth. It’s a good thing. Really old people smile when they see these mistakes, and aren’t concerned at all. Like watching a child learn how to ride a bike - the skinned knees are a requirement.

Couldyou tell us a bit more about that power supply?

Also, what kind of temps are you averaging with them clustered together like that and mounted to a board (not much airflow on the back, which adds a few *C)?

One of these: https://www.amazon.com/dp/B0078IWRLW

You can’t really find them anywhere else cheaper, even aliexpress. I haven’t found any other heat sinks as beefy and that fit relatively OK onto the board. It comes with a cutout foam pad to try to keep it level, but it is still gonna be a little unwieldy.

Pair it with a noctua 80mm PWM 5v: https://www.amazon.com/Noctua-NF-A8-5V-PWM-Premium-Quality/dp/B07DXMF32M

Depending on your climate, you may not even need the fan.

I mounted mine so that the fan blows horizontally, tho I may change that depending on how I end up mounting the board in a case.

That will drop temps into the 40s, max 50C unless you’re being dumb. Use a good thermal grease - I go with good ‘ol mx-4. Good longevity.

Still working on the power distribution option. Looking for best bang for the buck.

Going to design a case and print it out. Thinking modular to be able to add more on vertically or horizontally.

Trying to figure out the most ideal form factor of a “case” to mount them to with a 5v rail they can all share with a single larger power supply.

Been a fun little experiment! May try liquid cooling, next. Then going to work on expanding the ideas to support the hex or 0xAxe (which doesn’t look ideal to build).

Depends on the silicon lottery. I have some that do have better avg hashrate and are more stable when undervolting and staying around 500mhz, and others that need the juice. Still others that can be pushed *hard* and consistently get into the high 700s.

I run large north bridge heat sinks that have 2 heat pipes and a noctua 8mm fan to cool them all in the low 40s.

When will block announce availability of these chips in small bulk?

Us plebs would happily produce an open #bitaxe miner design that utilizes them. If decentralization is the goal, this is the way.

Came here to say this. Best of the options.

Everyone should just assume that all data stores will eventually merge / interoperate, if they aren’t already.

Everyone should consider themselves lucky that it is not fully so, already.

Recommend perusing an old sci-fi novel, The Shockwave Rider, that outlined this. Also coined the term, “worm”, I think.

a Relay Test Suite is in the works...

I've already got ideas for 94 tests and as I write these tests they expand out into even more tests.

I hoping that exposing relay behavior will drive relay software towards consistently supporting the same way of doing certain things, and that this will help nostr compatibility.

Tests include things like:

* Can the public write events?

* Can an authenticated person write somebody else's events?

* Does the relay respond to minimally constrained filters?

* Does limit 0 give an EOSE?

* When you write an event and get OK-true, can you read it directly back?

* Does limit behave properly when a filter has multiple pubkeys and multiple kinds?

* Does it require AUTH to read DMs and giftwraps?

* When submitting a replaceable event, are the prior events replaced?

* When submitting a replaceable event with newer ones already present, is it rejected or ignored?

* Does deletion of a replaceable event preserve the events that are newer than the deletion event?

* Does it prompt for auth initially?

* How large of an event can it handle?

* Does it verify signatures?

* How does it react to invalid UTF8?

* Does it handle all JSON escape codes? What about surrogate pairs?

* Does it preserve field order in events?

* Does it preserve fields in events not defined by the nostr spec?

* How many subscriptions does it allow simultaneously?

* Do events with negative created_at values work? What about exponential notation? What about numbers that won't fit in a u64?

... that kind of thing.

If you want to help contribute, even if you just have an idea of what to test, come on over to https://github.com/mikedilger/relay-tester and give feedback, open an issue, or better yet submit a PR.

What about the other things I'm working on?

* Gossip is on pause while we wait for the UI developer to handle some personal affairs, then we will have annotations and NIP-17 DMs.

* Chorus is stable and upgraded to use Pocket

* Pocket has been completed and is stable too, but I haven't tried to make it useful outside of the scope of a relay yet.

This is fucking brilliant.

We get a new muppet to maintain the illusion of choice?

I concur.

nostr:note13ejtlepnqxc0fljtpy0wdustjhps25jn0pt3xlsrf3h8fr7esets5tqlgk

Hear hear. It was about being uncensored and unconfiscatable. It is succeeding like never before.