-
Notifications
You must be signed in to change notification settings - Fork 989
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
Feature requests #187
Comments
For For the rest, the API of rust-libp2p is slightly different from the one of other libp2p implementations because we've been trying to maximize performances as much as possible. |
For general questions about the direction of the project, I would suggest joining the #libp2p IRC channel on Freenode. |
Will do, thanks! Note that the intention is for the Drops of Diamond sharding implementation to eventually integrate with Parity. |
I just added another one: gossipsub, see https://github.com/libp2p/go-floodsub/issues/77 for an introduction. |
According to libp2p/libp2p#33, gossipsub is preferable to floodsub for sharding implementation, so I'll probably develop that as needed. |
protobuf isn't supported for Rust, so I'll have to use something else. Looks like #183 might help. Edit: protobuf is supported. |
Let's close this issue as it is one and a half years old. |
https://github.com/libp2p/specs/ doesn't mention rust libp2p much. Could you open up a project tracker for this repo, documenting what has been done, what is in progress and what needs to be done?
I am looking at using rust-libp2p for Ethereum sharding with Drops of Diamond.
The following features don't show up for rust-libp2p or in search results, so I suggest adding them to issues and the project tracker:
libnice
,libwebrtc
, ornatty
. This actually [appears to be implemented](https://github.com/libp2p/rust-libp2p/search?utf8=%E2%9C%93&q=nat_traversal&type=0, it is just not too easy to find, so this is more of a docs issue.What's already done in rust-libp2p:
This repository includes a facade crate named
libp2p
, which reexports the rest of the repository.General overview of the architecture
Architecture of the other crates of this repository:
datastore
: Utility library whose API provides a key-value storage with multiple possible backends. Used bypeerstore
.example
: Example usages of this library.libp2p-identify
: Protocol implementation that allows a node A to query another node B what information B knows about A. Implements theConnectionUpgrade
trait oflibp2p-core
.libp2p-peerstore
: Generic storage for information about remote peers (their multiaddresses and their public key), with multiple possible backends. Each multiaddress also has a time-to-live. Used bylibp2p-core
.libp2p-ping
: Implementation of theping
protocol (the exact protocol is specific to libp2p). Implements theConnectionUpgrade
trait oflibp2p-core
.libp2p-secio
: Implementation of thesecio
protocol. Encrypts communications. Implements theConnectionUpgrade
trait oflibp2p-core
.libp2p-core
: Core library that contains all the traits of libp2p and plugs things together.libp2p-tcp-transport
: Implementation of theTransport
trait oflibp2p-core
for TCP/IP.libp2p-websocket
: Implementation of theTransport
trait oflibp2p-core
for Websockets.multistream-select
: Implementation of themultistream-select
protocol, which is used to negotiate a protocol over a newly-established connection with a peer, or after a connection upgrade.rw-stream-sink
: Utility library that makes it possible to wrap around a tokioStream + Sink
of bytes and implementsAsyncRead + AsyncWrite
.The text was updated successfully, but these errors were encountered: