Files
modules/messaging-gossip/hyper-p2p-distributed-event-bus
Raven ScottandCursor 70119888cd Next-depth pass: network-stack, CRDTs, gossip, scheduling, experimental
Expand introspection helpers and getStats(protocol) across six categories
after the storage/trust giant pass.

network-stack (10): listPeerIds, hasPeer, bestPeer, listCircuitIds,
queueDepth, listPendingIds, and related helpers; protocol in getStats.

state-crdts: crdt-map has/size/entries; conflict-set size/isEmpty;
reactive-state size/keys; richer getStats on map and conflict-set.

messaging-gossip: gossip-mesh seenCount/clearSeen; dedup size/clear;
event-bus getStats merges metrics/topics/peers.

scheduling-queues: topic-lease listShards/isHeld; peer-scheduler listJobs;
activity-queue pending/claimed stats.

measurement-rate-control: bucket-rate listPeerIds/peerCount.

experimental (16): protocol-rich getStats; mycelium listPeerIds/totalCredits;
pheromone listPathIds.

Docs: API Methods for link-probe, crdt-map, gossip-mesh; expanded category
READMEs for state-crdts, messaging-gossip, scheduling, measurement.

Co-authored-by: Cursor <[email protected]>
2026-05-21 00:32:11 -04:00
..
2026-05-21 00:07:44 -04:00
2026-05-20 23:36:32 -04:00
2026-05-20 21:02:45 -04:00
2026-05-20 21:02:45 -04:00
2026-05-21 00:07:44 -04:00
2026-05-20 21:02:45 -04:00
2026-05-20 21:02:45 -04:00
2026-05-20 23:36:32 -04:00

hyper-p2p-distributed-event-bus

Distributed append-only event bus: topic pub/sub, vector clocks, signing, Hyperbee replay, Protomux gossip.

Category: Messaging & gossip

Composes with: hyper-p2p-vector-clock, hyper-p2p-gossip-mesh, hyper-p2p-dedup-filter

Protocol: hyper-p2p-distributed-event-bus/v1

When to use

Event-sourced P2P apps that need durable logs and causal metadata across peers.

When not to use

Fire-and-forget messages without persistence (use lighter gossip modules).

Quick start

const HyperP2PDistributedEventBus = require('hyper-p2p-distributed-event-bus')
const bus = new HyperP2PDistributedEventBus({ enableBackgroundTimers: false })
await bus.ready()
bus.subscribe('orders', (e) => console.log(e.payload))
await bus.publish('orders', { sku: 'A1' })
await bus.close()

Docs

Test

npm install && npm test