Skip to content
This repository has been archived by the owner on Oct 23, 2022. It is now read-only.

libp2p Transport implementation is not extensible. #496

Open
cobward opened this issue Feb 14, 2022 · 1 comment
Open

libp2p Transport implementation is not extensible. #496

cobward opened this issue Feb 14, 2022 · 1 comment
Labels
enhancement New feature or request

Comments

@cobward
Copy link

cobward commented Feb 14, 2022

In the current state this crate cannot be used to build any application on top of IPFS. We have a use-case which requires private swarms, custom authorisation between peers and additional network behaviour. The implementation of Transport in this crate is not extensible in its current form, so there are limitations on how we can use this crate to restrict access and define custom auth.

We would require that functionality be added to construct a Transport which satisfies the requirements of ipfs, while allowing additional protocols and upgrades to be supported. It should be possible to construct an IPFS instance using this transport, but as much as possible construction of a vanilla IPFS instance should not be compromised.

I have a WIP which I will raise as a PR soon, but if anyone has comments or feedback before I do so I will take them on board.

@cobward cobward added the enhancement New feature or request label Feb 14, 2022
@koivunej
Copy link
Collaborator

koivunej commented Apr 1, 2022

While I don't have any solutions in mind, this is a good point. Transport at least should be possible to support. Supporting customizing or making the networkbehaviour of this crate usable in other contexts sounds more difficult. At the moment the p2p functionality of the crate is not useful, and reimplementing it without the ipfs command line use cases would be much simpler alternative to get ahead with your application.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants