Files
modules/messaging-pubsub/hyper-p2p-topic-channel
Raven ScottandCursor 67f96281c6 Expand pear, media, experimental, state, and messaging modules
Add manual API helpers across categories: pear runtime/embed/runner/spawn,
preflight cancel, update gossip history, headless UI pipe helpers, media
origin weights and latency paths, experimental void/tension/time-capsule,
CRDT conflict-set and grow-only-set, job dispatcher peek, trust graph decay,
session rotateAll, topic channel batch unsubscribe, fulltext searchOr, FEC
batch encode, marketplace cheapest listing, and noise session closeAll.

Co-authored-by: Cursor <[email protected]>
2026-05-21 02:39:38 -04:00
..
2026-05-21 00:07:44 -04:00
2026-05-21 00:07:44 -04:00
2026-05-20 22:28:59 -04:00
2026-05-21 00:07:44 -04:00
2026-05-20 21:57:50 -04:00
2026-05-20 21:57:50 -04:00
2026-05-20 23:57:33 -04:00

hyper-p2p-topic-channel

Named channel pub/sub with optional retained last message — subscribe, publish, and syncRetained over one Hyperswarm topic.

Category: Messaging pub/sub

Composes with: hyper-p2p-qos-topic, hyper-p2p-subscription-lease, hyper-p2p-retained-messages

Protocol: topic-channel/v1

When to use

Apps that need MQTT-style channels, handler callbacks, and gossiped publish/subscribe on a shared topic.

When not to use

Single-process tools with no P2P topic (use local APIs only or skip ready()).

Quick start

const { HyperP2PTopicChannel } = require('hyper-p2p-topic-channel')
const topic = process.argv[2] // 64-char hex or string
const mod = new HyperP2PTopicChannel({ topic, enableBackgroundTimers: false })
await mod.ready()   // joins swarm when topic set
// ... application logic ...
await mod.close()

Docs

Test

npm install && npm test