go-libp2p icon indicating copy to clipboard operation
go-libp2p copied to clipboard

libp2p implementation in Go

Results 415 go-libp2p issues
Sort by recently updated
recently updated
newest added

Now that we’ve started using Fx to construct our transports, muxers and security protocols, we should start using it to construct libp2p services like AutoNAT, Identify, the hole punching service...

kind/enhancement
exp/intermediate
effort/days

Add connection comparison logic and set more preferences to choose better connections: 1. LAN > WAN > PROXY; 2. Prefer udp based connection over tcp based;

Implements https://github.com/libp2p/specs/issues/608 for `/tls` and `/noise`. Todo: - [ ] Fix existing tests. - [ ] Add new tests. - [ ] Improve maddr reachability extension computation (generalize reachable quic...

WebRTC data channel close is a synchronous close procedure. We close our outgoing stream, in response the peer is expected to close its outgoing stream. If the peer doesn't close...

This PR adds the reuseport functionality for websocket protocol. The `TestReusePortOnDial` tests this implementation by starting to listen on a random port, then dialing another endpoint and verifying that the...

Currently there's an inconsistency between `swarm.NewStream` and `swarm.DialPeer`. `swarm.NewStream` returns `ErrTransientConn` when no unlimited connection to the peer exists. `swarm.DialPeer` returns the transient connection even when no `network.WithUseTransient` option is...

kind/bug

When wrapping a quic connection into a transport.CapableConn we wouldn't always close the underlying connection if wrapping failed. This fixes that and adds some tests to ensure all transports do...

This enables HTTP peers to authenticate each other's peer ID. This would allow users to use an http transport that has a peer id component (e.g. `/dns/example.com/http/p2p/12Foo`). I think it's...

Adds support for multiaddr URIs that contain `/http-path` components. In other words, this works now: ``` client := http.Client{Transport: &libp2phttp.Host{ options... }} client.Get("multiaddr:/dns/example.com/tls/http/http-path/some%2fpath") // equivalent to client.Get("https://example.com/some/path") // And of...