Pear by Holepunch

Pear loads applications remotely from peers and allows anyone to create and share applications with peers.

Pear by Holepunch is a combined Peer-to-Peer (P2P) Runtime, Development & Deployment tool.

Build, share & extend unstoppable, zero-infrastructure P2P applications for Desktop, Terminal & Mobile.

Welcome to the Internet of Peers

– Holepunch, the P2P Company

Table of Contents

Pear Runtime

References for Pear Runtime.

The Pear Runtime uses Bare JavaScript runtime, which is a small and modular JavaScript runtime for desktop and mobile. To learn more, see Bare Reference.

Guides

Guides on using the Pear Runtime to build and share P2P applications.

How-tos

Simple How-tos on using the essential building blocks in Pear applications.

Building blocks

The essential building blocks for building powerful P2P applications using Pear.

Name
Description
Stability

A distributed, secure append-only log for creating fast and scalable applications without a backend, as it is entirely P2P.

stable

An append-only B-tree running on a Hypercore. Allows sorted iteration and more.

stable

A secure, real-time distributed file system that simplifies P2P file sharing and provides an efficient way to store and access data.

stable

A "virtual Hypercore" layer over many Hypercores owned by many different peers.

experimental

The Distributed Hash Table (DHT) powering Hyperswarm.

stable

A high-level API for finding and connecting to peers who are interested in a "topic".

stable

Helpers

Helper modules can be used together with the building blocks to create cutting-edge P2P tools and applications.

Name
Description
Stability

A Hypercore factory designed to facilitate the management of sizable named Hypercore collections.

stable

A file system interoperable with Hyperdrive.

stable

Mirror a Hyperdrive or a Localdrive into another one.

stable

SecretStream is used to securely create connections between two peers in Hyperswarm.

stable

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.

stable

Multiplex multiple message oriented protocols over a stream.

stable

Tools

The following tools are used extensively employed in the day-to-day development and operation of applications built on Pear.

Name
Description
Stability

A CLI to create and connect to P2P E2E encrypted shells.

stable

A swiss-knife proxy powered by HyperDHT.

stable

A one-to-one and end-to-end encrypted internet pipe.

stable

A CLI to run SSH over the HyperDHT.

stable

CLI to download, seed, and mirror a Hyperdrive or a Localdrive.

stable

Apps

Applications built using Pear.

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

Examples

Collection of example applications that can be used as reference during development.

Stability indexing

Throughout the documentation, indications of stability are provided. Some modules are well-established and used widely, making them highly unlikely to ever change. Other modules may be new, experimental, or known to have risks associated with their use.

The following stability indices have been used:

Stability
Description

stable

Unlikely to change or be removed in the foreseeable future.

experimental

New, untested, or have known issues.

deprecated

Being removed or replaced in the future.

unstable

May change or be removed without warning.

Last updated