Links

Overview

Welcome to the Holepunch docs! 👋
Holepunch equips developers with a powerful suite of independent components to effortlessly construct peer-to-peer applications.

Building blocks

The Holepunch Ecosystem is constructed utilizing the following structural components.
  1. 1.
    Hypercore: A distributed, secure append-only log is a useful tool for creating fast and scalable applications without a backend, as it is entirely peer-to-peer.
  2. 2.
    Corestore: A Hypercore factory designed to facilitate the management of sizable named Hypercore collections.
  3. 3.
    Hyperswarm: A high-level API for finding and connecting to peers who are interested in a "topic."
    • HyperDHT: A DHT powering Hyperswarm. Through this DHT, each server is bound to a unique key pair, with the client connecting to the server using the server's public key.
    • @hyperswarm/secretstream: SecretStream is used to securely create connections between two peers in Hyperswarm.
  4. 4.
    Hyperbee: An append-only B-tree running on a Hypercore. It provides key-value store API, with methods for inserting and getting key/value pairs, atomic batch insertions, and creation of sorted iterators.
  5. 5.
    Hyperdrive: A secure, real-time distributed file system that simplifies peer-to-peer (P2P) file sharing. It provides an efficient way to store and access data across multiple connected devices in a decentralized manner.
  6. 6.
    Autobase: An experimental module that's used to automatically rebase multiple causally-linked Hypercores into a single, linearized Hypercore for multi-user collaboration.

Helpers

Helper modules can be used together with the building blocks to create cutting-edge peer-to-peer tools and applications.
  1. 1.
    Compact Encoding: A series of binary encoding schemes for building fast and small parsers and serializers. We use this in Keet to store chat messages, and in Hypercore's replication protocol

Tools built using Holepunch

A CLI to create and connect to P2P E2E encrypted shells.
A CLI to run SSH over the HyperDHT.
A swiss-knife proxy powered by HyperDHT.
A one-to-one and end-to-end encrypted internet pipe.
A file system interoperable with Hyperdrive.
Mirror a Hyperdrive or a Localdriveinto another one.
CLI to download, seed, and mirror a Hyperdrive or a Localdrive
These tools are extensively employed in the day-to-day development and operation of applications built on Holepunch, like Keet.io.

Applications built using Holepunch

  • Keet.io: A peer-to-peer chat and video-conferencing application with end-to-end encryption.

Last modified 3d ago