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

⚗️Investigate ways for outsourcing network layer #779

Closed
D4nte opened this issue Feb 20, 2019 · 4 comments
Closed

⚗️Investigate ways for outsourcing network layer #779

D4nte opened this issue Feb 20, 2019 · 4 comments
Assignees

Comments

@D4nte
Copy link
Contributor

D4nte commented Feb 20, 2019

We currently implement on our network layer (connection handling and pooling, encryption).

Look at libraries that could alleviate the load in this area.
Consider the following properties:

  • encryption
  • identification
  • NAT

This is a follow-up of #739
Required by #655
Required by #651
Required by #746
Required by #735
Required by #736

@thomaseizinger
Copy link
Contributor

thomaseizinger commented Feb 28, 2019

I wasn't sure how to best approach the research so I simply looked through all crates on crates.io that were tagged with network or networking:

One thing that came up apart from libp2p which looks interesting is this:

https://github.com/tox-rs/tox

It describes itself as:

a P2P, distributed, encrypted, easy to use DHT-based network.

It has basically only one or two maintainers and doesn't provide a very rich feature set. I haven't looked into how flexible the design is but the main purpose seems to be encrypted instant messaging.

Other than that, most results where either small libraries or low-level network stacks like:

Why did choose to just go through crates.io and not google/other search engines:

  1. Any software that we could potentially use should be released already. Everything else would be too much of a commitment for something as fundamental as our networking layer.
  2. It has to be written in Rust, otherwise there is not really a point.
  3. A google search mostly gives you results about "how can I open a socket in Rust and the like 🙄"

@D4nte
Copy link
Contributor Author

D4nte commented Feb 28, 2019

Thanks @thomaseizinger I am satisfied. Go libp2p.

@bonomat
Copy link
Member

bonomat commented Feb 28, 2019

I think libp2p is the way to go, it is well maintained, has other usecases which depend on it (ipfs) and it feels it's well-respected in the blockchain community.

@thomaseizinger
Copy link
Contributor

Thanks for your feedback. I'll consider this to be done then!

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

No branches or pull requests

3 participants