Relay is simply a data store with some basic realtime features, why not have http as an option for more static apps?
Hmm đ§ But nostr is over websockets, mixing HTTP into the mix seems a bit out of whack? nostr:npub180cvv07tjdrrgpa0j7j7tmnyl2yr6yr7l8j4s3evf6u64th6gkwsyjh6w6
Discussion
If you need an API to publish or receive events over WebSockets from the command line, you can use this one (there is also a prototype HTTP client and server that sends/receives #nostr events) https://github.com/pedro-vicente/nostr_client_relay
This is cool, but I would rather be able to use curl and in some nostr apps (like nblog) I would prefer to just be able to make a one off http request on the server rather than opening a websocket connection.
That doesn't justify making the protocol a much more complicated thing for everybody. WebSockets are simple, simpler than HTTP and REST, to be fully honest. If you don't like them that means you're just not used to them. You can use a Nostr library that abstracts that for you.
If you want a curl-like experience on the CLI, use https://github.com/fiatjaf/nak
Yes, that was kind of what my point was âif it ain't broke, don't fix itâ. As #nostr devs, we shouldnât have to deal with the underlying transport, we just use libraries that abstract that from us. I believe most languages have a WebSockets library. In my case, when I started with Nostr, it took me a week to find a good C++ library that I was happy with, but now I just use it and donât care what happens under the hood. And because there was no Nostr C++ API, I made one. Check it out https://pedro-vicente.net/nostr/nostr.html
We should strive to have just one way of doing things.