-
Notifications
You must be signed in to change notification settings - Fork 98
Closed
Labels
epicAn issue which tracks multiple issuesAn issue which tracks multiple issues
Description
under construction
Description
Hopr makes use of several libraries within the (js-)libp2p ecosystem, including js-libp2p
itself. The js-libp2p
ecosystem misses a working implementation to traverse NATs which is an important feature for hoprd
in order to act as a layer0 network.
Relevant issues
none yet
Concepts
- layer seperation: base (TCP etc.), encryption (libp2p-noise), multiplexer (libp2p-mplex), "application"
- DHT for node discovery and address announcement
- Streams using AsyncIterables
Libraries
- peerId - holds public keys and provides methods to encode the public key
- multiaddr - structures and encodes addresses
Stream libraries
- it-pushable - FIFO queue for streams
- it-handshake - ping-pong message helper
- abortable-iterator - make Promise-based streams abortable
- stream-to-it - wraps sockets into streams
Libp2p and its libraries
- @chainsafe/libp2p-noise - TLS-like encryption for libp2p
- libp2p-kad-dht - DHT implementation, used to publish and discover addresses
- libp2p-mplex - multiplexer for libp2p, >1 stream per connection
- libp2p - p2p framework, wiring DHT, multiplexer and encryption layer
Interesting
Definition of DONE
- reverse-spec is available in written from
- reverse-spec has been peer-reviewed and accepted as complete
- reverse-spec has been presented to the team in a dedicated session
Metadata
Metadata
Assignees
Labels
epicAn issue which tracks multiple issuesAn issue which tracks multiple issues