# Packages
Package asnutil provides a mapping lookup for IPv6 ASNs.
No description provided by the author
Package base32 implements base32 encoding as specified by RFC 4648.
Package base36 provides a reasonably fast implementation of a binary base36 codec.
No description provided by the author
Package pool provides a sync.Pool equivalent that buckets incoming requests to one of 32 sub-pools, one for each power of 2, 0-32.
Package cid implements the Content-IDentifiers specification (https://github.com/ipld/cid) in Go.
Package cidranger provides utility to store CIDR blocks and perform ip
inclusion tests against it.
No description provided by the author
No description provided by the author
No description provided by the author
Package core provides convenient access to foundational, central go-libp2p primitives via type aliases.
No description provided by the author
No description provided by the author
Package dht implements a distributed hash table that satisfies the ipfs routing interface.
No description provided by the author
No description provided by the author
No description provided by the author
Package log is the logging library used by IPFS & libp2p (https://github.com/ipfs/go-ipfs).
Package goprocess introduces a Process abstraction that allows simple organization, and orchestration of work.
No description provided by the author
Package util implements various utility functions used within ipfs that do not currently have a better place to live.
go-ipld-prime is a series of go interfaces for manipulating IPLD data.
No description provided by the author
No description provided by the author
package kbucket implements a kademlia 'k-bucket' routing table.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Package multiaddr provides an implementation of the Multiaddr network
address format.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Package multicodec exposes the multicodec table as Go constants.
Package multihash is the Go implementation of https://github.com/multiformats/multihash, or self-describing hashes.
Package multistream implements a simple stream router for the multistream-select protocoli.
Package nat implements NAT handling facilities.
Originally found in https://github.com/google/gopacket/blob/master/routing/routing.go * Route selection modified to choose most selective route to break ties when route priority is insufficient.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Package reuseport provides Listen and Dial functions that set socket options in order to be able to reuse ports.
No description provided by the author
No description provided by the author
Package multistream implements a peerstream transport using go-multistream to select the underlying stream muxer.
No description provided by the author
No description provided by the author
No description provided by the author
Package temperrcatcher provides a TempErrCatcher object, which implements simple error-retrying functionality.
No description provided by the author
No description provided by the author
No description provided by the author
Package websocket implements a websocket based transport for go-libp2p.
No description provided by the author
No description provided by the author
Package zeroconf is a pure Golang library that employs Multicast DNS-SD for browsing and resolving services in your network and registering own services in the local network.
# Functions
AddrsFactory configures libp2p to use the given address factory.
AutoNATServiceRateLimit changes the default rate limiting configured in helping other peers determine their reachability status.
BandwidthReporter configures libp2p to use the given bandwidth reporter.
ChainOptions chains multiple options into a single option.
ConnectionGater configures libp2p to use the given ConnectionGater to actively reject inbound/outbound connections based on the lifecycle stage of the connection.
ConnectionManager configures libp2p to use the given connection manager.
DefaultStaticRelays configures the static relays to use the known PL-operated relays.
DisableRelay configures libp2p to disable the relay transport.
EnableAutoRelay configures libp2p to enable the AutoRelay subsystem.
Experimental EnableHolePunching enables NAT traversal by enabling NATT'd peers to both initiate and respond to hole punching attempts to create direct/NAT-traversed connections with other peers.
EnableNATService configures libp2p to provide a service to peers for determining their reachability status.
EnableRelay configures libp2p to enable the relay transport.
EnableRelayService configures libp2p to run a circuit v2 relay, if we detect that we're publicly reachable.
ForceReachabilityPrivate overrides automatic reachability detection in the AutoNAT subsystem, forceing the local node to believe it is behind a NAT and not reachable externally.
ForceReachabilityPublic overrides automatic reachability detection in the AutoNAT subsystem, forcing the local node to believe it is reachable externally.
Identity configures libp2p to use the given private key to identify itself.
ListenAddrs configures libp2p to listen on the given addresses.
ListenAddrStrings configures libp2p to listen on the given (unparsed) addresses.
MultiaddrResolver sets the libp2p dns resolver.
Muxer configures libp2p to use the given stream multiplexer (or stream multiplexer constructor).
NATManager will configure libp2p to use the requested NATManager.
NATPortMap configures libp2p to use the default NATManager.
New constructs a new libp2p node with the given options, falling back on reasonable defaults.
NewWithoutDefaults constructs a new libp2p node with the given options but *without* falling back on reasonable defaults.
Peerstore configures libp2p to use the given peerstore.
Ping will configure libp2p to support the ping service; enable by default.
PrivateNetwork configures libp2p to use the given private network protector.
ResourceManager configures libp2p to use the given ResourceManager.
Routing will configure libp2p to use routing.
Security configures libp2p to use the given security transport (or transport constructor).
SetDefaultServiceLimits sets the default limits for bundled libp2p services
More specifically this sets the following limits: - identify: 128 streams in, 128 streams out, 256 streams total, 4MB min, 64MB max svc memory 16/16/32 streams per peer - ping: 128 streams in, 128 sreams out, 256 streasms total, 4MB min, 64MB max svc memory 2/3/4 streams per peer - autonat 128 streams in, 128 streams out, 128 streams total, 4MB min, 64MB max svc memory 2/2/2 streams per peer - holepunch 128 streams in, 128 streams out, 128 streams total, 4MB min, 64MB max svc memory 2/2/2 streams per peer - relay v1 and v2 (separate services) 1024 streams in, 1024 streams out, 1024 streams total, 4MB min, 64MB max svc memory 64/64/64 streams per peer.
StaticRelays configures known relays for autorelay; when this option is enabled then the system will use the configured relays instead of querying the DHT to discover relays.
Transport configures libp2p to use the given transport (or transport constructor).
UserAgent sets the libp2p user-agent sent along with the identify protocol.
No description provided by the author
# Variables
DefaultConnManager creates a default connection manager.
DefaultEnableRelay enables relay dialing and listening by default.
DefaultListenAddrs configures libp2p to use default listen address.
DefaultMuxers configures libp2p to use the stream connection multiplexers.
DefaultPeerstore configures libp2p to use the default peerstore.
No description provided by the author
Defaults configures libp2p to use the default options.
DefaultSecurity is the default security option.
DefaultTransports are the default libp2p transports.
FallbackDefaults applies default options to the libp2p node if and only if no other relevant options have been applied.
NoListenAddrs will configure libp2p to not listen by default.
NoSecurity is an option that completely disables all transport security.
NoTransports will configure libp2p to not enable any transports.
RandomIdentity generates a random identity.