Skip to main content
Deno 2 is finally here 🎉️
Learn more
Module

x/earthstar/src/peer/peer.ts>Peer

Earthstar is a tool for private, undiscoverable, offline-first networks.
Go to Latest
class Peer
implements IPeer
import { Peer } from "https://deno.land/x/earthstar@v10.0.0-alpha.4/src/peer/peer.ts";

Holds many shares' replicas and manages their synchronisation with other peers. Recommended as the point of contact between your application and Earthstar shares.

Constructors

new
Peer()

Properties

private
replicaEventBus: BlockingBus<Map<ShareAddress, Replica>>
private
syncerManager: SyncerManager
replicaMap: Map<ShareAddress, Replica>

A map of the replicas stored in this peer.

Methods

addReplica(replica: Replica): Promise<void>
addSyncPartner<I, F>(partner: ISyncPartner<I>, formats?: FormatsArg<F>)

Begin syncing using an instance implementing ISyncPartner. Use this if you don't want to sync with a local peer or a replica server.

getReplica(ws: ShareAddress): Replica | undefined
hasShare(share: ShareAddress): boolean
onReplicasChange(callback: (map: Map<ShareAddress, Replica>) => void | Promise<void>)

Fires a given callback whenever the Peer's store of replicas changes.

removeReplica(replica: Replica): Promise<void>
removeReplicaByShare(share: ShareAddress): Promise<void>
size(): number

The number of replicas held by this peer

sync<F>(
target: IPeer | string,
continuous?,
formats?: FormatsArg<F>,
): Syncer<undefined, F>

Begin synchronising with a remote or local peer.