API Reference libp2p_elixir v#0.9.0

Modules

An Elixir implementation of the Libp2p networking stack.

Base58btc encoding (Bitcoin alphabet).

Connection upgrade pipeline: multistream-select → noise → multistream-select → yamux.

One libp2p connection process.

Manages a secure, multiplexed Libp2p connection.

Minimal encoding for the libp2p-crypto PublicKey protobuf message.

secp256k1 identity keys.

Implements the Gossipsub v1.1 PubSub protocol.

Length-delimited protobuf framing used on pubsub/gossipsub streams.

Implements the /ipfs/id/1.0.0 and /ipfs/id/push/1.0.0 protocols.

Protobuf encoding/decoding for the Identify message.

libp2p identity keys + PeerId.

Behaviour for handling inbound Libp2p streams.

Minimal Multiaddr implementation (binary codec + a small parser).

Multistream-select 1.0 negotiation helpers.

Stream multiplexer abstraction (yamux).

Implements the Noise secure channel handshake for Libp2p.

Protobuf encoding/decoding for NoiseHandshakePayload (noise-libp2p spec).

PeerId derivation and formatting.

Peer metadata tracked by Libp2p.PeerStore.

Minimal peer store for tracking addresses + supported protocols.

Minimal protobuf (proto2/proto3) decoding helpers sufficient for libp2p specs.

Protocol ID constants for the libp2p subset we implement.

PubSub interface and gossipsub implementation entry points.

Protobuf encoding/decoding for pubsub Message.

Protobuf encoding/decoding for pubsub RPC messages.

Global registry for libp2p connection processes, indexed by PeerID.

Minimal concurrency gating for Req/Resp handlers.

Minimal request-response protocol support.

Simple length-delimited framing for request/response messages.

Secure channel abstraction (e.g. Noise XX).

Noise-secured connection wrapper.

Multistream-select negotiation on top of an established yamux stream.

Top-level supervisor for the Libp2p application.

Minimal Swarm runtime for the libp2p subset we implement.

Transport abstraction for libp2p.

TCP transport helpers for libp2p.

Unsigned varint encoding (protobuf-style).

Yamux frame encode/decode per third_party/libp2p_specs/yamux/README.md.

Manages a Yamux multiplexing session.