Welcome to the Holepunch docs! 👋
Holepunch equips developers with a powerful suite of independent components to effortlessly construct peer-to-peer applications.
The Holepunch Ecosystem is constructed utilizing the following structural components.
- 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.Corestore: A Hypercore factory designed to facilitate the management of sizable named Hypercore collections.
- 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.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.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.Autobase: An experimental module that's used to automatically rebase multiple causally-linked Hypercores into a single, linearized Hypercore for multi-user collaboration.
Helper modules can be used together with the building blocks to create cutting-edge peer-to-peer tools and applications.
- 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
These tools are extensively employed in the day-to-day development and operation of applications built on Holepunch, like Keet.io.