Pear Docs

#

Pear by Holepunch

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

Pear is an installable Peer-to-Peer (P2P) Runtime, Development & Deployment platform.

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

Welcome to the Internet of Peers

  – Holepunch, the P2P Company

#

Documentation

#

Showcase

Peer-to-Peer applications built on, deployed with, running on Pear.

#

Terms

  • API - Application-Programming-Interface
  • CLI - Command-Line-Interface
  • link - a pear:// link, a file:// link or an absolute/relative dir path
  • P2P - Peer-to-Peer

#

Legend

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 has known issues
deprecated Being removed or replaced in the future
unstable May change or be removed without warning

#

Reference

Pear is a native point-to-point peer-to-peer capable platform that consists of a runtime binary, an API, userland modules, a command-line interface, an on-demand daemon and an application shell to provide the capabilities to develop & deploy production P2P applications. With JavaScript and beyond.

Pear's runtime binary is built on Bare, a small and modular JavaScript runtime for desktop and mobile. Like Node.js, it provides an asynchronous, event-driven architecture for writing applications in the lingua franca of modern software. Unlike Node.js, embedding and cross-device are supported as core use cases, aiming to run just as well on mobile as desktop.

#

Examples

#

Guides

Guides on using Pear Runtime to build and share peer-to-peer applications.

#

How-tos

Collection of How-tos using the essential peer-to-peer building-blocks in Pear applications.

#

Pear Modules

The Pear global API is minimal and not intended as a standard library. Application & Integration libraries are supplied via installable modules prefixed with pear-.

#

Application Libraries

Pear modules related directly to application environment.

#

User Interface Libraries

Pear modules that supply User Interface runtime capabilities.

#

Common Libraries

Pear modules for general usage, including applications per case.

#

Developer Libraries

Pear modules to assist with developing & debugging

#

Integration Libraries

Pear modules for runtime integrations. Such as pear-electron.

#

P2P Modules

Modules that supply point-to-point peer-to-peer connection and storage capabilities.

#

Building-Block Libraries

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

#

Helper Libraries

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

#

Bare Modules

Pear's native runtime is Bare. The Bare global API is minimal and not intended as a standard library. Standard runtime functionality is provided via installable modules. prefixed with bare-.

Compatibility modules for Node.js builtins in Bare can be found in bare-node.

#

Tools

Beyond the Pear CLI these ecosystem P2P CLI tools are additionally useful for day-to-day development and operations.