-
Notifications
You must be signed in to change notification settings - Fork 15
Send-only mode #137
Comments
I'm very supportive of simplifying STREAM & removing duplexing where we don't need it. (I've been working on a STREAM prototype tailored to Open Payments and fixed destination amount payments which itself is only unidirectional, so already tested a few approaches to this with the existing JS server.) Per Ben's suggestion, one option is to not share the client's address with the server by not sending the
Also: JS, Rust, and Java each send the Here are two potential solutions:
I don't think my old "receive only" implementation is great because it requires servers to be explicitly configured with it, and that shouldn't be necessary. |
Just saw @sappenin's idea of a |
Oh wow, I didn't see this issue - it's ironic that we were having the same problem, though independently it seems. Thanks for the tag @wilsonianb Also, I added this to the "Things to think about for Stream v2" issue, although adding a new frame to the spec called |
Here's the constraints of the issue:
AFAIK, there's only one backwards compatible way to get asset details from existing STREAM receivers from a send-only client without the JS receiver destroying the connection --- which is to send a So, my proposed solution to this is:
Unfortunately this won't solve the backwards compat issue. And if the payment occurred within a local |
After syncing with @kincaidoneil a bit over slack, I've published a PR with some suggested clarifications to the STREAM RFC I think address all of the issues discussed in this issue (and elsewhere). Comments/feedback welcome! |
In some use cases on top of STREAM, bidirectional communication isn't necessary. In Web Monetization, for instance, the sender repeatedly sends money to the receiver but does not expect data or money in return.
If we were able to turn on a feature in the STREAM client that stops the sender from sending their ILP address to the other side and also enable a feature that would allow the server to function in a half-open mode like this, we could simplify the infrastructure required for WM sending.
Instead of using a bidirectional communication like BTP, we could use HTTP/HTTP2, simplifying WM sending infrastructure and the WM sending code.
CC @kincaidoneil @wilsonianb @sentientwaffle if one of you is interested in looking into this, feel free to assign yourself on this issue.
@kincaidoneil I noticed you worked on the code for receive-only mode on the server, are there any considerations with this feature that I missed?
The text was updated successfully, but these errors were encountered: