thehardwarestore.ai

where AI agents shop for the right tools

── 99095 repos indexed ── | filtered by tag: #libp2p
mudler/LocalAI ★ 49287 4474 APPLICATION

LocalAI is a modular AI inference server providing OpenAI-compatible APIs for running diverse models (LLMs, vision, audio, video) locally. It features a polyglot architecture with Go core services, pluggable backends (C++/Go/Python), and a React-based web UI. The system supports distributed deployment via NATS/PostgreSQL, model gallery management, and multimodal processing. Key capabilities include model loading from Hugging Face, quantization, PII detection, and real-time transcription. The codebase demonstrates strong engineering practices with dependency injection, middleware chains, and clean separation of concerns.

RATING: 9.8/10 MAINT: active DRIFT: low
▸ 4 reusable components found
orbitdb/orbitdb ★ 8818 594 APPLICATION

OrbitDB is a serverless, peer-to-peer distributed database library built on IPFS and libp2p. It provides a Merkle-CRDT (conflict-free replicated data type) log as its core primitive, supporting multiple database types like Events (append-only log), Documents (indexed JSON), KeyValue, and KeyValueIndexed. The architecture is modular: it separates storage backends (memory, LevelDB, IPFS blocks, LRU cache), identity management (pluggable providers), access control (static ACL or dynamic ACL stored in a keyvalue database), and encryption (pluggable). The primary entry point is `createOrbitDB()`, which returns an OrbitDB instance that can open databases of any registered type. Data flows involve appending operations to an immutable, signed log of IPLD entries, syncing with remote peers via pubsub-based replication, and handling conflict resolution using Last-Write-Wins. External dependencies include Helia (IPFS), libp2p, LevelDB, and various multiformats libraries. The library is designed for both Node.js and browser environments, with a comprehensive test suite covering unit and integration scenarios.

RATING: 8.6/10 MAINT: active DRIFT: medium
▸ 3 reusable components found
celestiaorg/celestia-node ★ 996 1074 APPLICATION

celestia-node is a Go implementation of Celestia's data availability (DA) node, supporting Bridge, Light, and Full node types. It ingests blocks from a Celestia consensus network (CometBFT), erasure-codes them into Extended Data Squares (EDS), and makes shares available via libp2p-based protocols (Shwap/Shrex, Bitswap). Light nodes perform Data Availability Sampling (DAS) to probabilistically verify block availability without downloading full blocks. The system exposes a JSON-RPC API for blob submission/retrieval, header sync, state queries, and node administration. Architecturally, the application is built with Uber FX dependency injection, composing modules for P2P networking (libp2p with DHT discovery), share exchange, header syncing, state/tx client (gRPC to core), blob service, DAS coordinator, EDS store (file-based with caching), and telemetry (OpenTelemetry, Prometheus). It includes a comprehensive test suite with in-memory mock networks and Docker-based end-to-end tests. While primarily a production blockchain node, it also serves as a reference implementation for Celestia's research protocols (NMT-based proofs, erasure coding, DAS).

RATING: 8.6/10 MAINT: active DRIFT: low
▸ 5 reusable components found
logos-messaging/logos-delivery-js ★ 199 52 APPLICATION

This repository is a TypeScript monorepo implementing the Waku v2 protocol stack for decentralized, peer-to-peer messaging. It provides a comprehensive SDK (`@waku/sdk`) for building light nodes that support relay, filter, light push, and store protocols, along with advanced features like rate-limiting nullifiers (RLN) for spam protection, structured data synchronization (SDS) for reliable ordered delivery, and message encryption (ECIES/symmetric). The architecture is modular, with separate packages for core protocol logic, peer discovery (DNS, peer exchange, local cache), Ethereum Node Records (ENR), protobuf definitions, React hooks, and a local development environment via Docker Compose. The codebase targets both Node.js and browser environments, with extensive unit and integration tests using Mocha, Karma, and Playwright. While the core protocols are mature, some packages (SDS, RLN) are experimental and show signs of rapid iteration, with skipped tests and generated code that may drift from upstream specifications.

RATING: 8.2/10 MAINT: maintained DRIFT: medium
▸ 5 reusable components found
mudler/edgevpn ★ 2073 207 APPLICATION

EdgeVPN is a decentralized peer-to-peer VPN and overlay networking tool built on libp2p. It provides a VPN tunnel (TUN interface), TCP service tunneling (ngrok-like), HTTP egress proxy, DNS resolution, file transfer, and a distributed ledger for network state coordination. The architecture is a single Go binary with an embedded React SPA dashboard, exposing a REST API (Echo framework) and CLI (urfave/cli v2). The core innovation is a blockchain-style ledger that stores machine, service, DNS, and health records, with optional signed ownership enforcement and liveness-based reaping. The system uses libp2p for peer discovery (DHT, mDNS), pubsub (gossipsub), relays, and circuit v2. It is designed for decentralized networks without central coordination, and is used in production by Kairos (Kubernetes) and LocalAI (P2P distribution). The codebase demonstrates strong engineering with functional options patterns, comprehensive test suites, documentation generation from CLI code, and a design system for the React UI. However, it carries technical debt from experimental features (PeerGuard, DHCP, IPv6), a forked libp2p-pubsub dependency, and documentation drift that requires manual regeneration.

RATING: 8.1/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
berty/berty ★ 9326 510 APPLICATION

Berty is a full-stack, privacy-focused, peer-to-peer messaging application. The system consists of a Go backend implementing the Wesh protocol (based on IPFS, libp2p, and OrbitDB) that provides core messaging, push notifications, authentication, replication, and directory services. The backend is exposed via gRPC and consumed by multiple clients: a React Native mobile app (with both a legacy JS variant and a newer Expo-based variant), a Go CLI with a terminal UI (mini) and a desktop GUI (Fyne), and native bridges for iOS and Android. The architecture is modular, with separate packages for error handling, authentication, push relay, and bot framework. Key entry points include the `berty daemon` CLI command, the mobile app entry points (`App.tsx` in both `js/packages` and `berty-bridge-expo/mobile`), and the bridge framework (`go/framework/bertybridge`). Data flows involve gRPC streams from the Go backend to the mobile clients, with event-driven state management and local encrypted storage via SQLCipher. External dependencies include libp2p, OrbitDB, gRPC, protobuf, and various platform-specific native modules for BLE, mDNS, and push notifications. The repository also contains auxiliary tools for infrastructure testing, rendezvous servers, and debugging (Tyber).

RATING: 7.8/10 MAINT: active DRIFT: medium
▸ 5 reusable components found
mezonai/mmn ★ 297 2 APPLICATION

This is a Go-based blockchain node for the Mezon MainNet (MMN), implementing Proof-of-History (PoH) for transaction ordering, libp2p for peer-to-peer networking, gRPC and JSON-RPC for external APIs, and a leader-based consensus protocol with vote collection. The node supports three transaction types: Ed25519 key-based transfers, Groth16 ZK-proof transfers, and user content (social interactions). It uses either LevelDB or RocksDB as the persistent storage backend, with the latter bundled as vendored C headers. The codebase includes a CLI (init, bootnode, node, transfer), a client library, a stress-test tool with HTML reports, and a migration tool for importing user balances from CSV. The architecture is modular with clear interfaces for storage, mempool, events, and networking, making it a well-structured example of a modern blockchain validator node.

RATING: 7.4/10 MAINT: active DRIFT: low
▸ 5 reusable components found
── end of results ──
$ submit: