# minip2p > A minimal, caller-driven libp2p implementation in Rust, built around QUIC and Sans-I/O state machines. ## Docs - [Introduction](https://minip2p.com/): Connect applications over authenticated QUIC and TCP from Rust, Node.js, or React Native. ## Rust - [Install](https://minip2p.com/rust/install): Install minip2p for Rust and choose the network capabilities your application needs. - [Connect two peers](https://minip2p.com/rust/connect-peers): Print a dialable PeerAddr and measure a libp2p Ping RTT between two local processes. - [Concepts](https://minip2p.com/rust/concepts): Endpoint, PeerId, PeerAddr, PeerReady, dial versus connect, and where events go. - [Listen and dial](https://minip2p.com/rust/listen-and-dial): Bind QUIC, TCP, or both; publish dialable peer addresses; and wait for PeerReady. - [Drive events](https://minip2p.com/rust/drive-events): Choose between poll, next_event, and focused waits without losing unrelated application events. - [Register a protocol](https://minip2p.com/rust/register-a-protocol): Register an application protocol, negotiate streams, exchange bytes, and close or abandon stream state on purpose. - [Identity](https://minip2p.com/rust/identity): Manage Ed25519 peer identity and distinguish bind addresses, direct peer addresses, and relay circuit addresses. - [Publish with pubsub](https://minip2p.com/rust/pubsub): Enable gossipsub, subscribe and publish signed messages, consume pubsub events, or select floodsub explicitly. - [Discover peers](https://minip2p.com/rust/discover-peers): Activate signed presence beacons or local-link mDNS with a bounded peer book and automatic dialing. - [Traverse NAT](https://minip2p.com/rust/traverse-nat): Configure relay and AutoNAT, establish the first usable path, and observe direct upgrades or relay fallback. - [Host a relay server](https://minip2p.com/rust/host-a-relay): Install and run the minip2p circuit relay on a Linux server. - [Embedded devices](https://minip2p.com/rust/embedded-devices): Run a no_std endpoint on your board's smoltcp stack. - [Rust troubleshooting](https://minip2p.com/rust/troubleshooting): Diagnose Rust connection, stream, discovery, and event problems by symptom. ## TypeScript - [Start with TypeScript](https://minip2p.com/typescript/start): Choose Node.js or React Native, make the first connection, and continue with the shared TypeScript interface. - [Node.js quickstart](https://minip2p.com/typescript/setup-node): Install @minip2p/node, connect to a peer, and measure a Ping RTT. - [React Native quickstart](https://minip2p.com/typescript/setup-react-native): Install @minip2p/react-native, create a development build, and connect from a component. - [Endpoint lifecycle](https://minip2p.com/typescript/lifecycle): Persist an identity, own the endpoint lifetime on each runtime, and shut down cleanly. - [Connections and streams](https://minip2p.com/typescript/connections-and-streams): Connect with cancellable Promises, inspect direct or relayed paths, and exchange bytes over custom protocol streams. - [Networking and events](https://minip2p.com/typescript/networking-and-events): Use typed events, pubsub, signed discovery, mDNS, and relay-assisted NAT traversal from TypeScript. - [TypeScript troubleshooting](https://minip2p.com/typescript/troubleshooting): Diagnose TypeScript Promise, stream, lifecycle, discovery, and mobile problems by symptom. ## Reference - [Feature matrix](https://minip2p.com/reference/feature-matrix): Compare Rust feature activation and TypeScript SDK configuration with the network infrastructure each capability needs. - [Glossary](https://minip2p.com/reference/glossary): Short definitions for identities, addresses, connections, streams, events, and endpoint lifecycle. - [TypeScript API](https://minip2p.com/reference/typescript-api): Concise reference for the high-level TypeScript configuration, endpoint methods, streams, events, and public errors on Node.js and React Native. ## Changelog - [v0.5.3](https://minip2p.com/changelog/v0-5-3) - [v0.5.2](https://minip2p.com/changelog/v0-5-2) - [v0.5.1](https://minip2p.com/changelog/v0-5-1) - [v0.5.0](https://minip2p.com/changelog/v0-5-0) - [v0.4.11](https://minip2p.com/changelog/v0-4-11) - [v0.4.10](https://minip2p.com/changelog/v0-4-10) - [v0.4.9](https://minip2p.com/changelog/v0-4-9) - [v0.4.8](https://minip2p.com/changelog/v0-4-8) - [v0.4.7](https://minip2p.com/changelog/v0-4-7) - [v0.4.6](https://minip2p.com/changelog/v0-4-6) - [v0.4.5](https://minip2p.com/changelog/v0-4-5) - [v0.4.4](https://minip2p.com/changelog/v0-4-4) - [v0.4.3](https://minip2p.com/changelog/v0-4-3) - [v0.4.2](https://minip2p.com/changelog/v0-4-2) - [v0.4.1](https://minip2p.com/changelog/v0-4-1) - [v0.4.0](https://minip2p.com/changelog/v0-4-0) - [v0.3.1](https://minip2p.com/changelog/v0-3-1) - [v0.3.0](https://minip2p.com/changelog/v0-3-0) - [v0.2.0](https://minip2p.com/changelog/v0-2-0) - [minip2p v0.1.2](https://minip2p.com/changelog/v0-1-2) - [minip2p v0.1.1](https://minip2p.com/changelog/v0-1-1) ## RSS Feeds - [minip2p — Changelog](https://minip2p.com/changelog/rss.xml) ## Agent resources - [llms-full.txt](https://minip2p.com/llms-full.txt): The full Markdown of every page in one file. - [Page Markdown](https://minip2p.com/index.md): Append `.md` to any page URL to fetch that page as raw Markdown. - [JSON API](https://minip2p.com/api/docs/pages.json): Page index of the JSON docs API; each entry links the page's JSON and Markdown forms. Described by the OpenAPI document at https://minip2p.com/openapi.json. - [API catalog](https://minip2p.com/.well-known/api-catalog): RFC 9727 linkset of the APIs documented here. - [agent-readability.json](https://minip2p.com/agent-readability.json): Manifest of every agent-facing artifact on this site. - [Sitemap](https://minip2p.com/sitemap.xml): Every indexable page URL with its last-modified date.