-
Notifications
You must be signed in to change notification settings - Fork 81
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
HTTP interface to Fulcrum methods #170
Comments
I definitely would like to support regular http. Currently Fulcrum does have an http/1.1 implementation internally. I am going to write down my thoughts on this here so that they are not lost. And maybe a curious reader can chime in with some solutions to the problems I will outline below with doing this. Basically, there are some engineering challenges associated with supporting HTTP though. As per the RFC for HTTP/1.1 https://datatracker.ietf.org/doc/html/rfc9112...
Anyway these are my thoughts on the topic. It's an onion and while seemingly an easy addition to Fulcrum, it does require more investigation and research to implement, sadly. It may ultimately require HTTP/2 which ... is complicated and IIRC isn't even a fully accepted specification even now in 2023 (even though in practice it basically is accepted since all browsers support it). :( |
what if we restrict http version of fulcrum to http v1 and do not support subscription methods? also initial protocol version negotiation can be done with http headers. I've been asked about "BCH official json rpc" once again |
One Electrum request per HTTP request and per connection. |
We already have TCP (node only), WS (node+browser). Both require sophisticated software like elecrum-cash.
How about the simplest thing in the world of web - namely http way to issue direct requests to Fulcrum.
I understand, that subscriptions will not do any good with http, but SSE (server sent events) are also http only tech for subscriptions worth to evaluate.
I am aware that Chris Troutner offers his REST wrapper around Fulcrum, but it is an extra hosted dependency and is inferior towards my proposition.
The text was updated successfully, but these errors were encountered: