Last Notes
whoa bro, I run like 6 relays rn 😂
fixed. https://i.nostr.build/Eq9h9aO3omTZoX3t.jpg
sus. https://i.nostr.build/0183NfYVizxPAzfD.jpg
You're right. TIL: mSats accrue. Previously thought msats didn't accrue. Thanks for that.
Regardless base fees > 0 discourage this behavior. And it is not without irony. At the time that WoS channel had a large negative inbound fee and enough liquidity for their transactions, so they could have sent their ~500k sats in a single payment in seconds as opposed to hours and without consuming so much compute. They consumed almost 4 minutes (!) of compute over the span of ~12 hours, and this time period was accompanied with a forwarding fail rate that was almost +50% than the month's average.
I think what you're missing is that when the PPM value of the forward is below 1 sat, the sender effectively ducks the PPM. Zero base fees encourage spamming the network with 400+ small payments instead of sending a single payment for 600k. The sender only needs to have patience and the ability to write a 20 line bash script, where as compute time, unsettled HTLCs, worker exhaustion and high value liquidity are the cost to the operator.
Yes, that's quite right. However, you missed the point that this happens very frequently, and often to channels that have a high rebalancing cost. Also base_fee is in mSats.
Zero base fee is fine for many kinds of channels, but for sinks it's begging for pain.
Zero base fee advocates tend to advocate for zero base fees EVERYWHERE. It doesn't work.
For those of you that advocate for zero base fees: here is why you're wrong.
https://i.nostr.build/bqPo0zgfKouZSJ8a.png
Also don't you need to encapsulate `50` with double quotes in nak? `"50"` :D
@nprofile…0haf lol
https://i.nostr.build/gsP2nNgqxswRLmlC.png
👉 https://github.com/nostr-protocol/nips/pull/230
You're missing `since` btw.
Already is. https://github.com/nostr-protocol/nips/pull/230
Hmm, I just ran a test and more or less got what I expected. Here's the test result:
https://gist.github.com/dskvr/6036030fb5302e8a519e1d73d5f790c4
Can you provide replication instructions?
It is almost as if the moment the Queen died the UK became a totalitarian hellscape. The irony.
I have a few questions about the first scene.
left, warmer hues are always cozier., happier athletes on the right though.
it's certainly not trivial.
#nevent1q…jx6d
and separation of business and state
pretty sure nostr.wine has a relay uptime bot
I've lived in Europe for 8 years and it still pisses me off and I still complain about it.
No clue. It's pretty funny though. I'm actually letting go of write tests because they don't make much sense anymore, but one mon's config still has them enabled.
yeah, made that mistake recently.
that's anonymizing fiatjaf's note from a fee years ago that I have used to write test relays for the last 2 years 😂
Well, technically the number of live relays has been continuously climbing for 2 years. Relays come and go, and that's ok. I've had a total of 19 relays, and 7 of them are still online.
correct. When I started writing nostr.watch there were 6 public relays (there were quite a few more but they were experimental/not published)
components generated from CSS?
https://github.com/typicode/mistcss
It's two chars after all.
gotta bring out the telescope again soon
#nevent1q…wqgv
https://youtu.be/5RpiOeyYkMo
well if we really want to get down to the meat of the issue its an abundance of missing information from NIP-11.
If we added @nprofile…vzaw's relay categories to NIP-11, this would not be an issue, because relays could be properly organized and filtered based on purpose. People would not use them on their list simply because it would be obvious that it is of not benefit to them. Services like nostr.watch and more importantly, NIP-66 would optimize delivery based on these values.
the most common use of nostr.watch is finding online relays is to assist with relay lists and outbox model. The issue here has everything to do with a bad implementation, and little to do with nostr.watch. if you're not on nostr.watch and a spammer wants to spam, they'll still do without the API.
I had a full implementation of NIP-66 completed in NDK, but the PR being open for 5 months and maintaining a fork holding me back so I had to abandon it and have been working to create a toolkit agnostic full implementation. All my existing implementations right now are hardcoded. You can check that PR in NDK for implementation hints.
As a side note: I'm not aware of anyone who has done the ad-hoc implementation that leverages web-of-trust (`some.relay.xyz` was seen by `dan` 2 days ago) As for me ad-hoc reports will be the very last thing I implement. Would make sense that a social client would implement such a thing...
sure, but only if you never sleep.
Ah, ok, so much different. Khatru is more of a framework whereas this looks something closer to nostream where there are baked in policies you can configure. I like that there's fine grained control over resources. Can't wait to try it!
blindspot shows you notes you may have missed. Not sure about the inner workings, but I suspect it's popular notes from your extended networks' feeds.
Looks cool! Something like Khatru?
Cool! Have you considered running a monitor and publishing NP-66 events by chance? Also: https://i.nostr.build/zLufry3KfAgxucye.png
@nprofile…qc03 Are you deduping with NIP-11? There's all kinds of fun in there.
Yep... Welcome to the club. That number sounds right
I respect the no dependencies thing, but notemine on a single thread is almost 2x faster, maxing out threads it's `n` times faster.
is a good one, IMO one of his best in recent years.
What you don't understand, is that the site is in maintenance mode, and this was in the pinned message when you posted. Had you just read it, you may not have written such a message with such an entitled tone.
> can you make the front page load faster.
No. I literally don't owe you anything, other than being a free, you didn't even introduce yourself. This was your introduction.
> It's really slow to the point it's unusable.
It's not useless, thousands of people use it a day. Is it dated, yes? Does it need pagination? Probably, but it's legacy and in maintenance mode. And had you agan, read the pinned message at the time, then you would have found the likely solution
> Why do you make so many things load on the front page.
Again, you didn't read the pinned message or asl any questions.
> It's unnessesary
What's unnecessary is this feedback, because it's useless, ignorant and lazy; all you had to do was read.
And I wasn't upset btw, but I am now. My response to you was pretty standard for someone dealing with someone they don't know being rude and making demands of them like an entitled little brat.
Have you considered that you're projecting? Maybe instead of flaming people foor doing things, you should produce something of value yourself.
the effect is in the network.
#nevent1q…xarv
cool notemine fork: https://github.com/plebemineira/notemine_hw
Texture, fine granules and appearance, darker brown then compose/dirt (generally). You'll notice an almost uniform fineness, with no chunks of compost. They'll likely need to acclimate before they become active. Also, they aren't as active when it's cold, so depending on where you are you might have to wait a while.
First, I'm not the one who got upset. Second, you should learn how to read before you flame people.
Here's one for the record:
https://i.nostr.build/E3qTelArdkUtBXkm.png
https://i.nostr.build/I7qxVzzH3fU7cbze.png
https://i.nostr.build/0G38DUQ0CtWq8QJb.png
https://i.nostr.build/TJzzXPXofyy7Wbej.png
😂 ...yes, terrible. but not that terrible because most relays will simply ignore or truncate the REQ.
Bitcoin is money. Money is math. Math can be measured and quantified objectively. A trustless system is of the highest importance with a decentralized store of value. Proof of work/Consensus/Incentives are perfect for sound money.
Nostr is identities and connections. Social connections are not math. They cannot be measured or quantified objectively. The fundamental principle of a social dynamic is one that revolves around trust.
These are not the same.
Proof of work in bitcoin functions due to the dynamics between blocks, network consensus and incentives: IE the advent of blockchain.
PoW on nostr is just an arbitrary number to meet a relay's requirements. If a spammer has profit incentive, they simply scale their difficulty accordingly. Someone with an incentive will always be willing to pay a higher price (PoW) than a casual user. The obvious outcome here is an ever increasing difficulty that makes nostr unusable for the average user.
That said PoW notes are most likely part of the solution, but very unlikely to be the entire solution. If I thought it had no value II wouldn't have released notemine last week: https://sandwichfarm.github.io/notemine
Yes it has and it's not particularly difficult either. https://getwired.app has PoW replies.
they do but only because clients that filter PoW are fringe. If everyone does it, spammers will create a nostr note miner asic and then it is an arms race (somewhat joking). PoW definitely provides rate limiting.
for example, if kind 0's were pow, then reply guy would have to shift strategies.
I personally think its a multifaceted solution: some wot, some payments, some pow + some other stuff I'm not aware of or we haven't figured out yet.
that's the one I mentioned, it got a higher pow but was mined at difficulty 42. 8 cores, but 7 workers. Was around 5kH/s. Got lucky, it mined in around 30 seconds.
mined a 42 PoW note with notemine early last week https://sandwichfarm.github.io/notemine
Not that I'm aware of, but you're right in assume it's probably close to zero. ...I definitely don't have time to write logic for every spam attack variant :D
I was partially wrong, there kind of is. When a WoT relay uses a relay software specfically made for WoW, then yes.
https://i.nostr.build/rjWAvZ2cY4LybyHQ.png
change my mind. https://i.nostr.build/yees4RfTvuYuBjBO.jpg
No. There is presently no objective way to detect WoT relays. Should be added to relay categories, which should then be added to NIP-11. But even then, very few people would correct categorize their relay.
I have some ideas for how to tag relays with categories in an ad-hoc way, but haven't landed on one yet.
i clearly need to do more optimization because 80 cores should be hashing quite a bit higher.
1. I'm going to optimize and fix some bugs first.
2. If I experiment with GPU it will be with WebGPU, and it would be a completely different wasm.
was only a matter of time.
"#stayhumble" - nostr elites 😂
...the kHs there is for the single worker/miner than mined the note.
Here you go nostr: nevent1qyw8wumn8ghj7mn0wd68ytnzd96xxmmfdejhytnnda3kjctvqy8hwumn8ghj7mn0wd68ytnddakszrthwden5te0dehhxtnvdakqzynhwden5te0wphhwun9d3shjtnc09aqzxthwden5te0d3skymm4wghxv6tpw34xze3wvdhk6tcpz9mhxue69uhkummnw3ezumr49e4k2qgswaehxw309ucngvpwvcmh5tnfduqzqqqqqqqxgctfeepehm463l8m3h2r24f2fdg4a78qpz5gv49ynjrkrzpl2j
https://i.nostr.build/dK8wJpHtsmiKC1ve.png
still mining, but there's a bunch of notemine notes on https://getwired.app
https://i.nostr.build/qH99RJjFDrCRnt4v.png
Achievement Unlocked: 6kH/s
https://i.nostr.build/VlvS7X8AWA0tVcdd.png
3kH/s https://i.nostr.build/t8oD48KCaIuKZu6A.png
Also, with a quiet system and nothing running I almost hit 3k earlier.
I think I can squeeze out some more hashes.
hashed the events wrong so PoW is off. will fix.
GN. here's a wasm nostr event miner written in rust.
https://sandwichfarm.github.io/notemine/
https://i.nostr.build/t5drpkLze6SBiqoV.png
right? Especially if when it's laden with capsaicin. luckily, none of my neighbors are fluent in english because otherwise things might get weird.
GN, found my first note.
#nevent1q…y6cr
Maybe it was early 2023. That entire period was a blur :D
If I need to `formatCode` I will.
Only issue I've always been hung on with relay pubkeys is that the relay has to somewhat consistently provide proofs for its pubkey which adds additional overhead (on top of everything else) for both the relay and the client. Additionally, this requires that the relay have a hot-signer, which adds new requirements for relays in both implementation and security vectors.
That said, when relays have pubkeys that can be discovered in some way, I would add them to `30166` events with `p` tags shortly after. This would be in addition to the `p` tag that is already added when any relay has valid pubkey set in their NIP-11.
Lobby to add a new field to NIP-11 that infers you don't want your relay crawled. I would ignore these relays by default. But be aware, relays are public, and if someone can find your relay then they don't need your permission to publish its existence.
sorry, bad autocorrect. misunderstanding*
consensus is antithetical to the value proposition of nostr. consensus requires relays know of one another to be useful. the value of dumb relays it he ability to stand up a relay and post notes to it without any consensus requirements. Unless I am misunderstood ding you, this is akin to throwing the baby out with the bathwater. web of trust is the way forward, not trustlessness, social graphs are not finance.
https://konstakang.com/devices/rpi4/AOSP15/
content generator + this font could make for more dynamic and organic UI loading skeletons.
You will likely need to sanitize, nostr.wine, nostr.band and nostr.mom make things less simple.
yep, excrutiatingly familiar with the complexity.
yes. this is basically what @nprofile…lfwt did in late 2022. one day he just appeared and started submitting bug reports.
throwback, to mass legacy social media woosh
#nevent1q…s2yd
Yeah, this is glorious. Got it up and running in about 20m. https://trusted.sandwich.farm/
I have seen worse and done worse.
Nope. Nostream lets you charge per note, but not with that granular of a policy. Strfry policies would get you halfway there, but to actually make it work as described would be pretty difficult.
Don't know unfortunately, happened sometime between 8-14 days ago and didn't notice until yesterday.
if it weren't for quote replies I think it would take me a year or more to rebuild my follow list.
https://youtu.be/vdNJc1AqvZw?si=7jr5lO74QoEfE05g
still have a full stack of VMUs. What year was that? 2008? 2009?
GM, from M15 https://i.nostr.build/3IlVH2sAL5shZbux.jpg
no clue, we dont have proof-of-compute. However, it appears number of relays has always increased with each batch of new users.
Umbrel has a nostr relay, but it's intended as a local cache relay. If that works for you, just search the Umbrel App Store for "nostr"
52 Cygni https://i.nostr.build/Q4MqafKRmkI4mLbB.jpg
haven't seen any notable decrease in online relays, which is a huge improvement from the last attack. Round-trip times for websocket opens are roughly 10% higher though.
#politics https://i.nostr.build/91lO0tKSc52Sn40H.jpg
my follows were wiped at some point in the last week and didn't notice until now. joy.
everything is a stress test, we cannot fix fuzz we cannot see.
spam sandwiches are particularly good when the spam is pan fried and paired with something aciditic and/or bring freshness to balance out the fat of the spam. only toast one side of the bread and orient so the untoasted side on the outside. This way, any sauce used doesn't make the bread soggy while simultaneously keeping your mouth safe from cuts.
I observed network fragmentation during China-week in 2023, and anticipate it to happen again.
cognitive dissonance is one helluv a drug.
IC 143 https://i.nostr.build/sIkZGP9WKuEmzM27.jpg
M31 https://i.nostr.build/3sxGqHIpxvDFVyvd.jpg
also wss://relay.nostr.watch
It was technically late 2022 was when I started exploring NIP-66, and fiatjaf expedited its development indirectly with a grant.
I'll be awaiting the third "pablo started following you" notification.
Ah, appears previous client didn't have the most recent kind 0.
Now all you need is an LN address so you can receive zaps...
https://www.youtube.com/watch?v=ZK7Ojytg04Q
Is there a scheme for nostr web services? "nws://" ? #asknostr
69 Cygni https://i.nostr.build/nELxhQR2lbEGHhpi.jpg
Makes sense. I was exposed to the challenges early on in the growth cycle, and always figured eventually client developers would face the same challenges. @nprofile…aql9 and I have regular discussions about it, and were going to have another one this week. You are welcome ofc, and anyone for that matter.
Informative article, thanks for taking the time to write out all of the challenges.
Updated answer: NIP-22 via NIP-66
https://github.com/nostr-protocol/nips/blob/42c510183434809b729557d25c403cfe2ca1e7fa/66.md#single-letter-tags-indexed
See `k` tag in `30166` event.
Relays generally dont rebroadcast, there are some blastr relays that send every note to a list of the top relays. But network synchronization isnt presently in the protocol. Relays were intentionally designed to be dumb for resiliency.
are ants repelled by any particular frequency range?
how can I eradicate the ants without turning myself into poison?
is this an issue if there are ants inside of me? I'm a sandwich, not a human BTW.
why are there so many ants?
what's framework/tools are you using?
There has been tall about putting "accepted kinds" into NIP-11, which would be the first step to making these relays discoverable if I understand the problem correctly.
I personally doubt it, but it would be very difficult to prove or disprove this without relays being able to provide proof-of-compute. Interesting thought though.
https://github.com/sandwichfarm/nostr-watch/issues/678#issuecomment-2294807863
hello, I'm sorry but if your relay can be found, it will be broadcasted. Obfuscation of relay liveness only promotes information asymmetry and doesn't solve your particular problem. If we get another field in NIP-11 to flag a relay as 'private' I would likely respect this value, but that doesn't mean others would not. I do not have the bandwidth to process and validate removal requests.
This is pure nostalgia. Should be dubbed to 21 VHS tapes.
The project was actually a library for game developers to implement nostr, what I demoed was just a technical demo of the early stages of that library. I will pick it back up after I've finished current projects.
The project was actually a library for game developers to implement nostr, what I demoed was just a technical demo of the early stages. I will pick it back up after I've finished current projects.
watched it recently as well, timeless.
I gladly exchange the lack of milk for no FBAR and no CBT
poor nostr.watch, no love. Shame too, especially considering this: https://github.com/search?q=api.nostr.watch&type=code
If you use the nostr.watch API in your client or tool, it would be pretty cool if you gave a link-back or credit in some way. There's 90+ tools and clients using the API.
https://github.com/search?q=api.nostr.watch&type=code
group think is the enemy of innovation.
Yes, that's the plan, but there's a lot to do to make that efficient and possible.
According to legacy nostr.watch, `nostr-rs-relay` still dominates.
https://nostr.watch/relays/statistics
But this **only includes `wss` relays, not `ws` or `onion`**. I'm monitoring via NIP-66 for `wss` and `ws` but not `onion` yet, could be calculated pretty easily by anyone...
If they are replacable events, then why would there be an increase in events?
also working on a similar tool, but a little different.
standard operating procedure.
Just message me or post an issue on Github.
With NIP-66, yes. These expired certificates can be found in `30066` events right now. And yes, next nostr.watch would convey these details, and any other data present. But then again, any client could convey those conclusions at runtime with NIP-66
looks right to me. Maybe I published twice, as this usually happens when I think I'm signed in, but the alby auth window isn't focused. Will dig into it later today on a burner.
Here's the replication flow, happened twice today:
1. Be signed out of signer (for example, alby)
2. Write a note and publish
3. Unlock signer
4. Upon signer being "available," Coracle publishes previous note twice.
PineWatch has these features, I have one, but it will take a few ten/hundred thousand hours of work to get where Android/Garmin/Fitbit/Apple are right now in terms of UX , accuracy and integration.
PineWatch has these features.
Fixed. https://myrelay.page
Coracle bug report: Stackes notes for publish in a queue when not yet logged in it seems, results in duplicate notes. @nprofile…7ecc
sigh, it's not down, it's just that my registrar things it's 1999 and does domain forwards without SSL. It just redirects to the github, there is no homepage rn.
sigh, it's not down, it's just that my registrar things it's 1999 and does domain forwards without SSL. It just redirects to the github, there is no homepage rn.
https://www.youtube.com/watch?v=a0fkNdPiIL4
Don't think it's a good use case for NIP-78 either.
The real question is, how did you find a paperback? :D
Looks like a complete list
It started first Monday of May. They have demo days every Friday.
The world's leaders pretend to have conflicting interests on the world stage but in reality are best buds. This among many other civil rights abuses over the last 4 years demonstrate they are confident in their ability to successfully be tyrants without public recourse. It's going to get worse.
Yes, there absolutely is.
already answered somewhat, but some relays reply in limitations property of NIP-11, and form this you can infer the max follows of a kind 3.
its on the list for the rewrite.
As someone who runs a purplepag.es mirror, can confirm 99.99998% of the followers are spam. He just spammed kind 3 with generated pubkeys.
the English translation for this is pure gold.
"the cumshots of the sponsored meeting!"
alby invite code, autocorrect completely removed alby from my message
could someone please give me an invite code so I can introduce a streamer to nostr?
satire is not impersonation, at least in the US and at at least for now.
zardoz speaks to you.
his chosen ones.
github.com/satelliteearth/satellite-node
the entire satellite stack is built on NIP-29 but is still alpha I believe
its been on that track since 9/11, these things are a slow progression.
I don't understand how anyone can hate it, it's a common sense possibility
https://youtu.be/yuoFsi2iIi0?si=_sfwOpQAbOFDb-uV
bots are here in full force lol
yeah, coracle's note parser has some annoying issues with links and markdown.
redirect works, prefer reverse proxy myself, is satisfying.
Someone just zapped me 3 sats. nice.
They'll find a reason for all of us. Received a 3 sat zap? GUILTY!
monitoring tor relays just got a bump in priority.
Yes, some relays have a per message cost. See nip-11 for wss://nostr.koning-degraaf.nl for example
optionality of possibilities and scarce indices are incompatible.
web of trust, and there is no "the"
expected behavior, mute lists often influence WoT scores
It's consistent with their blatant display of newspeak, at least.
nevent1qvzqqqr4gupzpem34u9stj8ftlxldl4n2qz5f5hmrnxns3uga86fpwe7u28ga4n0qywhwumn8ghj7mr4de3kscn00qh8xctwv3mkjcmg9enxzund9uqzq9upsvea49khgysvv5e3ym4kn24ak8smg7faw5aw8e08dzw968qh6gtk4f
Look forward to seeing it, I started something similar last year, but didn't finish it.
It's a landing page for relays customizable at runtime. Example: https://lunchbox.sandwich.farm
ugh: `https://relaypage.netlify.app/?url=wss://YOUR_RELAY`
You can test myrelay.page before you build and deploy. You can even edit the configuration from the demo page. Note: Only works for wss (secured) relays.
https://relaypage.netlify.com/?url=wss://YOUR_RELAY
Coracle stripped the line number hash on me `#L119-L128`
Thanks! While that may appear to support many cases, it doesn't support the case where a relay isn't at root (in a subdirectory). Unset url case is handled here:
https://github.com/sandwichfarm/myrelay.page/blob/main/src/lib/core/MRP.ts#L119-L128
It additionally handles potential issue where someone attempts to connect to `wss` from `http` or vice-versa (would throw client-side errors) by clamping websocket/http SSL in alignment with browser limitations, which is implicitly compatible with onion.
Ok, I think I understand. In general, you shouldn't have to set the URL. It handles detection and handles both ws (necessary for edge-cases and onion relays) and wss in the url setter. There's no harm in setting it manually ofc, but it's an unnecessary step.
wanna send a gist or a patch? not parsing well in client?
awesome! General config + theming coming soon.
for the record, I was joking https://emojipedia.org/face-with-tears-of-joy
https://i.nostr.build/6Gx0a.jpg
It's the hole in the wall that gives you internets.
totally funtional government
https://image.nostr.build/44b586ee9ce1a1e1d4a1b29915dbce1106994d3ea293ff5c50a3ddd0a70277a2.jpg
gonna take a minute to crack that nut
https://i.nostr.build/BR9Dw.gif
https://i.nostr.build/BR9Dw.gif
🚀
https://v.nostr.build/jYEAE.mp4
happy halving!
https://image.nostr.build/3db2c24de639b85640eb0cc87a31d67e9dbb66cd8cc07adcc116598060487328.png
#bitcoin #halving
For beginners? Prusa or Ender3.
There are very good printers at very affordable prices these days.
a customizable landing page for relay operators that utilized NIP-78 for customization.
tell us about the new remote signing implementation, currently researching this subject
v0.2.0 released -> https://github.com/sandwichfarm/myrelay.page
tldr: Relay operators can now add and reorder blocks and modify options.
new repeatable blocks:
1. html block: render any html in a block
2. img block: easily render an image
3. markdown block: easily render markdown
4. feed block: generate a feed with custom filters (tags filtering limited to '#t' for now) and layout (list and grid for now)
There can be zero to many repeatable blocks.
general settings:
1. enable/disable blocks
2. Remove blocks
3. sortable (and unsortable) blocks
4. settings panel
options todo:
1. higher level general settings (block agnostic) - wasn't completed because it requires an adapter since the options generic was built around blocks, will be released as a patch on v0.2.0
I'm wrapping up another micro-app needed for the nostr.watch refactor, so development on myrelay.page will slow down a little, but it wont' stop.
roadmap:
- v0.3.0 full theme support: default themes, ability to customize default themes and ability to write themes from scratch at runtime.
- v0.4.0 remote component loading
- v0.5.0 custom note templates
- v0.6.0 optimization (improved store, hydration and control-flow logic)
- beta
I'll write a NIP-28 article that goes over the new features after I go outside for a bit.
demo: https://lunchbox.sandwich.farm
#build #buidl #myrelaypage #opensats @nprofile…llhe
It'll still be 4/20 by like 15m in my timezone :D
I know that walk all too well.
Not on the current iteration of nostr.watch, no.
However, I'm rebuilding nostr.watch over the next 3 months and towards the end of the rebuild it will have tor support. It requires that I have infrastructure to support the NIP-66 daemons operating through a SOCKS proxy. This has a number of complexities when it comes to monitoring a relay, namely, the failure rate and timeout requirements of TOR are significantly higher than with clearnet, complicating backoff and queue retry logic. Due to the higher complexity, it needs to remain as a lower-priority task so it doesn't block more critical developments. I am excited to get it complete, but need to burn through a pretty large list of items first.
Yes, customization is possible via NIP-78.
could use nostr for signing, only use I see. I prefer snapdrop though
I'll publish some guides on this topic, but need to get out a few more versions first.
Divide and conquer is a time-tested tactic for distracting adversaries of the powerful against one another with the intent of sowing discord by exploiting internal rifts and tearing apart communities at the seams.
I use it for a lot of things personally. But in short: It's a trawler 😂
It's just there for tracking the last time a trawler filtered against a relay so that it can resume from where it left off. Also exposes the cache to the parser/validator for arbitrary, developer persistence and/or validations.
The primary reason it was made was to replace the ugly pages at relay canonicals. It's quite simple, but with nginx it's less simple (way easier with caddy). See this gist for the general idea:
https://gist.github.com/dskvr/4ea1937bd5c2161249146bc1edd2682e
One thing that doesn't seem to get simpler with time is cache invalidation.
I haven't filled out a resume in 20 years.
I'm also running strfry. Are you using a reverse-proxy?
awesome! definitely better when hosted at nostr.fractalized.net though! lemme know if you want some tips
lived in Detroit for a while, but have been living in Europe the last 7ish years.
HAHA, creative solution. No psilocybin
Only thing I can think of is that he was trying to find an offset center, but even that doesn't make sense because there are easier ways. No clue.
Contractor was cutting out a hole but took psilocybin earlier in the day, started to see inspiring patterns and couldn't resist. Then had an epiphany and went to the forest to walk around naked.
post-coffee
*clients would sync events from that timestamp to other relays.
*but marked inactive with a timestamp indicating when the user left.
pre-coffee notes are imperfect.
Totally. If someone changes their relay list, outbox doesn't know it existed. In a perfect world, NIP-65 would also store timestamps for when a relay was added. When removing the relay, clients user events from that timestamp. Or otherwise, relays are not "removed" from NIP-65 lists, but marked inactive and marked with a timestamp indicating when the user left.
I'm building some microapps right now, which is keading up to rebuilding nostr.watch.
https://github.com/sandwichfarm/myrelay.page is the one from last week
Just did a migration. Set it up in about 2 minutes with https://github.com/sandwichfarm/nostrawl/
A fresh, new and interesting applicatioon where the user doesn't know they are using nostr, is what will lead to mass adoption.
99.999% Users don't know the intricacies of TCP/UDP, HTTP(S) or DNS when they use the internet, the same applies to nostr. It's a protocol, not a platform. It needs to, and will, melt into the background.
https://image.nostr.build/65e38c0e99cd21cb9745b367bb57b36ae3691a8e83a657b762a957ca8dc5d6a1.png
I forgot to mention nostr.watch API is also sort of the backend for blastr, sorry everyone, blame @nprofile…7l97
there are 6 geographically distributed legacy monitors that have been running for 14 months. They run nostr.watch and effectively populate the data for the nostr.watch API that is used by many clients (habla, nostrrr though now NIP-66, snort for almost a year, + many more).
that data is from the new monitors that started to be deployed during SEC-01 and reached full-scale a few weeks ago.
transform the https canonical of your relay, ala "please connect with a nostr client" or generic strfry page, into something beautiful and informative. Customizable without a build.
v0.1.0 of myrelay.page is up, includes:
(1) customization via NIP-78, many more to come (theme, feature enable/disable, generic blocks like text/image/video)
(1.a) block order
(1.b) block visibility
(2) dark/light mode switcher
(3) added example Caddyfile (nginx/haproxy in progress)
(4) general code maintenance
next releases focus on customization, some state improvements and then some work around svelte stores to clean up the templates.
demo here: https://lunchbox.sandwich.farm
repo: https://github.com/sandwichfarm/myrelay.page
https://image.nostr.build/c31518a32ad7cbf1f6c45a612a8e734742b7588299f4cd982c1934705783f34d.png
I'll just put this here https://github.com/iamadamdev/bypass-paywalls-chrome
Welcome! May your experience here be as beautiful as that path.
Welcome! What are your favorite tracks. Any 80/90's bangers?
good call, those packs often have all kinds of fillers and preservatives.
the general vibe is salt, pepper, cumin, chili and/or paprika and fresh garlic. If you have access to Ancho or Guajillo peppers your burritos will thank you for swapping out the chili powder with them.
Alright, hmu in pm or on telegram
this is what nostr needs for growth
sweet! @nprofile…5ap7 @nprofile…066f @nprofile…xdu9 reply here if you have your own relay and you're interested in/have time to help me test https://github.com/sandwichfarm/myrelay.page
I'm going to be pushing an update for runtime customization in a few hours
https://github.com/sandwichfarm/myrelay.page
No it's not, it's https://github.com/sandwichfarm/myrelay.page
There's a live stream of data here: https://nostrpul.se
https://image.nostr.build/1f6c1833fa2316e7dc12a420918eff6389e9770ccd4a9ffb77fcb37f31291ed0.png
oof, as of about 3 weeks ago*
NIP-66 events are are being published full-scale from 8 monitors on 6 continents as of about . 8 pushing 30066 events with round-trip times and 1 publishing full metadata and 30166 discoverability events.
All of this can be achieved more simply without a blockchain.
welcome to the protocol.
protocol > platform
keep showing up and it will
after a long hiatus, I'm back.
https://image.nostr.build/7cd5c940685068d782d45aab90d27beb2d74c48d6fa42059238419477be3950d.jpg
Your identity is portable. You're always in control. Relays are dumb, by design. All they do is store and serve notes. Some of them do talk to each other. If you started a relay, you could try to sync in all the notes that were ever created. Or not. That's the beauty of it all. Welcome!
cool stuff, keep on showing up
welcome to what I think is the most interesting place on the internet.
well, that brings me back to July 2016, welcome!
https://hive.blog/music/@sandwich/this-is-what-happens-when-you-take-m
teenage engineering will do it, they've done crazier things.
https://github.com/sandwichfarm/myrelay.page
Still prefer dark for some things, not reading though. It will have themes (and already supports technically), relay operators can customize the page and load custom components as well. Way easier to prototype on light.
thanks! won't complain if you send me a comp that makes it better.
just a redirect, see https://github.com/sandwichfarm/myrelay.page
Context: There was an exploit on strfry, this resolves it.
If so and on nginx add
proxy_set_header X-Real-IP $remote_addr;
to your websocket location block. If using another reverse-proxy solution, just make sure your setting the X-Real-IP header.
Cool idea, but it'll probably have a realtime feed eventually as well. It's only 3 full days of dev.
unless they sell wrenches at ball chain you'll be fine.
Really just intended to replace pages like this:
https://image.nostr.build/76b38b37bf8c6b246697165bb7d87578d12dd3783c892d1785f4002f089fb7f4.png
NIP-66 relay monitors, should be clarified. thanks!
that's what I get for relying on a registrar forward, just redirects to https://github.com/sandwichfarm/myrelay.site
Check out the early stages of a quick side project from the past few days and let me know what you think.
http://myrelay.page
https://image.nostr.build/2697219173bafe32f81b8ba1ad4e6662fe84df82fecaf0f29a2d6d02dd3026c8.gif
epic, now on to other stuff.
Fail to see how freedom has anything to do with ease of use. Fees on lightning are a fraction of debit/credit card fees, which are passed down to you. Sidenote: The internet was also difficult to use 30 years ago, totally didn't work out.
0224c95521cafeee55d3f0acd3e32c8d2d41b4b8baa34557cb9bb35b66ff91bc54
I've known many of shitcoiners over the last decade+ and I can assure you that your sweeping generalization is acutely false.
Also, not all relays are communities, as there is other stuff.
in 2006 I conducted a study via viral chainmail on MySpace and accrued tens of millions of hits resulting in a successful app. I had unique insight on the impact of social media on people, and early-on feared the repercussions. Other than nostr I've been off social media for 4 years, and even still, prefer the other stuff.
Been working on this for a while, still a ways out though.
Great brand, but the cost here is roughly 300% the cost compared to when you buy direct. After forwarding/shipping from Japan, it's still between 180-220% cost compared to direct from Horii Shichimeien. A 200g can costs ~¥14000, not ~¥43000
the philosophical delta between bitcoiners and "shitcoiners" is basically non-existent compared to the delta between [...coiners] and debtcoiners.
oof ... fat fingered that reply 🫠
that second point I'd an argument I've had about every decentralized social network for the last 10 years. it's also been encoded my profile description since day one.
It's the original event used for write detection by `nostr-relay-registry`. nostr.watch has used it as a method for write detection since inception.
lol, it's the event nostr.watch has been spamming for roughtly 15 months. It's used as a hack for write detection. It was the event that was originally used on `nostr-relay-registry` and was retained for lulz.
To clarify, NIP-66 was first published in February 2023 and has been in use since January 2023
pubkey.studio ***
pubkey.land is just a tech demo.
Click on a block, it's the NIP-66 reference implementation. I had an information button but it was bugging out and I didn't have time to fix it. Another time.
https://github.com/nostr-protocol/nips/pull/230
NIP-66 reference implementation: https://nostrpul.se/
https://github.com/nostr-protocol/nips/blob/669d9415e22af3781a5bc4582abf8ffdeab764f1/66.md
Is that relay on a NIP-65 list? If so, is it on nostr.watch? If so, then it is also being served via the API and via NIP-66
https://void.cat/d/G4gxAzeN2D3N7zEMMeJWJi.webp
Good one, but not so new https://github.com/sandwichfarm/nostr-watch/issues/394
Ah, gotchya. Well rephased, the event you shared on NIP-66 on gh include the same data as NIP-66 events.
Sure, NIP-66 https://github.com/nostr-protocol/nips/pull/230
nostr.watch runs on NIP-66 (draft1). I only provided the API, reluctantly, as a stop-gap until NIP-66 matured.
The events running your demo are identical to those in `draft4`, but far less scalable.
It would really be much better if it used NIP-66, which is a 10 months mature NIP, that supports self-reporting.
Been looking at ambient.run for a while
Been a minute since my last update
https://habla.news/a/naddr1qqxnzdesxycngvp4xg6rgvpnqgswwud0pvzu362lehm0av6sq4zd97cue5uy0z8f7jgtk0hz368dvmcrqsqqqa28j3kk6q
I was traveling the last week, so am a little late at posting this. I wanted to thank @npub10pe…n34f for the grant, which has provided the opportunity for me to drop my contracts and refocus entirely on nostr once again. I had a series of unfortunate events unfold in late March that forced me to shift my focus. I am humbled and enthralled to be working with an exciting protocol and to continue my work on nostr.watch.
Earlier this month I resumed the planning I started before nostr took off for the moon last December, and when I hesitantly decided to amend my prototype to serve the immediate needs of community as opposed to build out my original vision. I look forward to the coming changes and the challenges they will bring. As I ramp up communications will become more consistent, plans will be shared and pushes will become regular once again.
Thanks for your patience and to everyone for your support over the last 10 months.
Kids these days 🤦♂️
https://void.cat/d/23nDqrRYFiofFpeUsHSjqA.webp
The internet was a complete pain in the ass to use in the 90's, and that obviously didn't end well for the internet.
Online relays that were reporting offline has been resolved. Sorry it took so long.
https://void.cat/d/DWuGRvV8wT6ngizfLRftwF.webp
the markets are drunk af today.
Fixed a few critical bugs on nostr.watch
1. Stop-gap fix for offline relays appearing as online.
2. Fixed Australia returning no online relays when Client-Side processing was off (default)
Seems on schedule considering dick-day was like 6 months ago
There was an account in December that claimed it was Elon, the timing and the way the account interacted led me to believe it might have been him.
They just went for the biggest one first.
We need to get FUTO on board with nostr apps...
rough time to be a bitcoiner in Canada
You just provided the answer that around 100k words in the last 48 hours have not been able to answer.
Pretty hyperbolic. "A few evil verifiers" means you don't use them, clients delist them, etc. Verifiers would be incentivized by performance and trust, and with an open data format, their performance is transparent. It would probably not be used for anything security sensitive. Could be used for initial hydration of an app, and then a lazy fetch could confirm/deny it. It would probably never be used for something like say, acceptance of an event on a relay. One connection to your chosen (fictional) historical relay and a filter on n verifiers, with custom acceptance logic, for example: If 100% of verifiers do not agree, fallback to standard fetch.
NIP-05 would probably need to be ammended for batching. Would incrementally solve number of connections, but still requires multiple requests for multiple NIP-05 providers.
Or something similar, where the parameterized value is the user@xyz.tld. "Verifiers" would push a NIP-33/NIP-40 event at an advertised interval when the NIP-05 was verified. Clients would sample the results from multiple verifiers for a confidence %.
NIP-66 might be a solution for this. https://github.com/nostr-protocol/nips/pull/230
Thank you to everyone donating in the Zap Pool. I've been dealing with life stuff the last couple months but am getting back into the grind. Starting with completion of the next release. Cheers!
Been using those for years, they definitely meet the hype. And even when the blades dull they will still work in a pinch without razor burn
Why use date when you could use brainfuck?
++++++++++[>+++++++>++++++++++>+++>+<<<<-]>++.>+.+++++++..+++.>++.<<+++++++++++++++.>.+++.------.--------.
Probably not, data can always be lost because the protocol is lightweight and simple, redundancy/replication is intentionally omitted from protocol. Additionally, it's not impossible for the network to have private splinters that are separate from the rest of nostr, intentionally or otherwise. Nostr.band cannot sync notes from relays it does not know about. While it's possible nostr.band, as a centralized service, will capture the majority of network, it's debatable if over time this would be feasible, practical and/or economical. It would be extensive but probably incomplete. Also, some have taken it upon themselves, for better or worse, to replicate data between relays.
nostr.band indexes all relays.
Just so you know, the SSL on my historical relay didn't renew correctly a couple days ago, and so your update yesterday is likely out of sync.
Do you have another term for the speed at which a relay connects, reads and writes? Until then, latency is the shortest, most succinct way to convey this without requiring user education.
There was an issue, specifically in Brave, that should be resolved once deployed.
Hmmm, what is the problem here?
I was referring to this statement
"when u posted to onion relay u have no way find where they located"
If you hash the NIP-11 from the TOR relay (assuming the relay is correctly resolving NIP-11 on TOR) you can find the clearnet relay by cross referencing the hash, and therefor, find the geographical location of the TOR relay. This applies to the hybrid relay case only ofc.
But this is assuming the relay you publish to is not a hybrid relay, which many of the TOR relays are. Haven't checked in more than a month, but around half of the relays at the time were nostream hybrid relays. Therefor, in this instance you can cross reference the relay's NIP-11 to find their clearnet address.
Nothing said here is accurate.
Yes, that is true, but it is not the only case relevant to the statement.
https://nostr.watch is a better link for now, https://next.nostr.watch is generally experiemental (while right now it is similar, this is not always true)
If you're referring to performance, then yes, it's largely irrelevant unless your network conditions are so unfavorable that you need to squeeze every bit of performance out of a relay.
But to say the geographical location of a relay never matters is erroneous. There are many reasons why you may or may not want to publish to a relay in a particular jurisdiction.
nostr.watch DOES NOT only show pings from Europe. This is a false statement.
nostr.watch pings from 5 different regions. At runtime it will determine your geographic location and select the daemon closest to you.
If your network configuration blocks the IP API that makes this possible, then yes, it will default to Europe.
You can either
1. Manually select the region in preferences
2. Enable client-side processing
https://nostr.watch/preferences
If your geographic proximity to the daemon in question cannot be determined (outlined in previous comment) then it will default to Europe, yes. You can go to preferences and select the correct region, or enable "Client-Side Processing" to not use cache.
Hey there! The map isn't broken, my guess is one of the following:
1. You are using brave
2. You are using an ad-blocker
3. You have a PI-Hole on your network
All of these block the geo IP API that nostr.watch uses. The Geo IP API in itself has a favorable privacy policy, ad-trackers often use it as well making it market-adjacent, and these ad-blockers consider it ad-related.
https://api.nostr.watch/v1/nip/33
of course, that's why it is there <3
Yeah, it’s probably another library that a tool like nak would import.
This is similar, but slightly smaller scope, to something I wanted to build, here's some of the features I had around event validation
1. Validate against NIP (for example: if kind 33 is the `d` tag present)
2. Detect supported NIP requirements
3. For NIPs that use stringified JSON in content body, validate `JSON.parse` (probably deprecated)
1. Umbrel, user friendly, low tech knowledge required. Has a GUI and vibrant marketplace.
2. Raspiblitz, easy to setup, technical. Needs to use cli to do many operations.
Both run on cheap hardware, a raspberry pi, low power consumption. Both resolve over tor. To be accessible via clearnet, use tunnelsats
I’ve never understood the controversy. “Hot dogs are sandwiches” however…
Yep, I felt it around this time.
They exist, but their numbers are pitiful when compared with far-left ethno-fascists
Sue the fuck out of them and retire,
Thought something was up, hope the fist bump helped. Feel better soon.
Kind 10002 (NIP-65) has replaced kind 3 for storing relay lists, but some clients are still using kind 3.
Feature: Add robust paid relay support to nostr.watch without undermining the purpose of the application and confusing the average user.
#zapraiser 1m
Yes.
`git clone https://github.com/dskvr/nostr-watch.git`
Should be mentioned, for fastest results on loading your kind3/10002, favorite commonly used relays and then refresh.
It's had auth for months, but now it prompts login if a NIP-07 extension is detected. It will try to find your kind 03 (and soon kind 10002), and then load the relays you use as favorites. Additionally, 0.3 brings user functionality.
Pushed some updates to fix the downtime. Made some modifications to the table and the detail pages. Detail pages are undergoing a full overhaul to be seen in 0.3 release
https://void.cat/d/WL4icoVyGEAUPRt6ik7uH1.webp
Hey! Haven't written any guides during alpha, things change too quickly to maintain guides.
run `yarn docker:build && yarn docker:tag && docker-compose up`
Sorry. Having the issues the last few days. Hope to have them resolved soon.
Whoa, just checked the API access logs for the first time. Holy shitballs.
Anyways, the API is down for maintenance. ~5 minutes
nostwatch-daemons in India, Singapore and Australia appear to be fixed now. All deamons are now reporting uptime figures within 0.5% margin of error when averaged over 6 hours.
Uptime was disabled on nostr.watch so I could run event migrations on the history relay, it will remain disabled until the 0.3 release.
single point of failure perhaps?
I've spent today refactoring `nostrwatch-js` and combing the logs on the daemons.
1. I found an bug in `nostrwatch-js` that caused problems for slow relays which would result in a latencies not being calculated correctly. This is an edge case, but I found 6 relays affected by this in production.
2. I found a bug in `nostrwatch-js` that caused write checks to fail for slow relays. (this is **not** related to paid relay write checks, those should fail)
3. I found a pretty big issue in the daemons, where the jobs overlapped after ~7 days of running. I haven't been able to identify if this caused any issues with data yet, but it definitely caused the daemons the crash periodically.
4. It is possible the improvements to `nostrwatch-js` mentioned above will resolve issues that some relay operators have reported related to Uptime, but cannot confirm with certainty at this moment in time.
I have long wanted to refactor `nostrwatch-js` (formerly `nostr-relay-inspector`, and have spent part of yesterday and today doing so. I also added features that are in line with the goals of `nostr.watch@0.3`. `0.3` provides more data to operators and completely refactors the relay detail page.
The improvements to `nostrwatch-js` will be rolled out to the daemons tomorrow and will be rolled out to nostr.watch with the `0.3` release or possibly as a patch to `0.2` if `0.3` takes longer than anticipated.
It shouldn't happen often. Nostr.watch manages hundreds of connections to relays client-side. It's tricky.
I don't think so because I see latency on your relay. If you click on your relay and go to the detail page, it will rerun the check.
Uptime: It's a new relay or is blocking the daemon.
Latency: Everyone sees a different value based on their location. It appears the latency check didn't complete or timed out so it was not displayed. If you click on the relay it will rerun the check.
Some works needs to be put into latency checks, as there's some edge cases where it erroneously gives up.
There's also Flamingo (https://www.getflamingo.org/)
Do you find value in nostr.watch?
[this note will help determine the fate of nostr.watch]
Damus zaps work. It's definitely Alby in that case.
Sounds like a server-side issue on Alby's end (the zapper). They are the ones that publish the zap event. Also possible that the client you used didn't do the client-side implementation properly.
oh, nice! They added it :)
It looks right to me.
Either disable shields for nostr.watch or add a special rule in brave.
Nah, it's actually that brave blocks ip-api.com, my guy.
https://void.cat/d/EwFeZFoQZGJQ13mTdbnpq3.webp
I just tested on brave and the maps are enabled. Do you mean that the maps are gone or that the markers are not appearing? If the later, your probably in the middle of a check. An update will move the geo job higher up in the queue so it runs before the checks.
GEO appears to be fine, and is unrelated to uptime. Your relay was probably just taking a while to respond so the geo query didn't run yet.
Regarding uptime, I don't have the time to look into this right now unfortunately. The message there is not entirely correct, another reason could be that your relay is new.
NM. So it slices out the first item. Each relay is an item in an array.
```
[
'relays',
'wss://relay.damus.io',
'wss://eden.nostr.land',
'wss://relay.snort.social',
'wss://offchain.pub',
'wss://nos.lol',
'wss://brb.io',
'wss://nostr.mutinywallet.com',
'wss://relay.nostrica.com',
'wss://relay.orangepill.dev/',
'wss://puravida.nostr.land'
]
```