Skip to content
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

iroh-net transport #102

Closed
rklaehn opened this issue Oct 21, 2024 · 4 comments
Closed

iroh-net transport #102

rklaehn opened this issue Oct 21, 2024 · 4 comments

Comments

@rklaehn
Copy link
Collaborator

rklaehn commented Oct 21, 2024

Quic-rpc needs an underlying transport that has very cheap substreams, like QUIC.

It would be quite cool to be able to use iroh-net, which is basically p2p quic with dial-by-nodeid.

I have a lot of examples and toy projects with RPC like use cases, like frosty or (https://github.com/rklaehn/munin). Being able to use quic-rpc would be preferable to manual protocol impls at least for complex protocols.

This would be extra useful in conjunction with #101

@matheus23
Copy link
Contributor

I was just looking into this. I think you can already get pretty far by glueing together iroh-net and quic_rpc::transport::quinn::QuinnConnection on the client side and QuinnServerEndpoint::handle_connections on the server side.

That said, it'd be nice if it were a little more convenient to create these. It would also be nice to be able to use the ReconnectHandler that's created in QuinnConnection::new internally.

@rklaehn
Copy link
Collaborator Author

rklaehn commented Oct 29, 2024

One thing you probably want to do here is to add a mechanism to reject incoming connections from unknown node ids. Basically like authorized_keys from ssh. Otherwise every program that is using this is remote controllable from all over the world.

For the local rpc stuff at least we only listen on localhost usually...

@fogodev
Copy link
Collaborator

fogodev commented Oct 29, 2024

One thing you probably want to do here is to add a mechanism to reject incoming connections from unknown node ids. Basically like authorized_keys from ssh. Otherwise every program that is using this is remote controllable from all over the world.

For the local rpc stuff at least we only listen on localhost usually...

But quinn transport aren't also like this? Who has your server address can send requests to you, from all over the world.

@rklaehn
Copy link
Collaborator Author

rklaehn commented Nov 11, 2024

Closed by #105

Thanks @fogodev

@rklaehn rklaehn closed this as completed Nov 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants