Standardize a size() method after isEmpty() on every module with clearAll(), delegating to domain counts or snapshot fields so callers can query occupancy without parsing snapshots. Co-authored-by: Cursor <[email protected]>
hyper-p2p-mirror-realm
Forkable realm KV — write/read, fork(), and reconcile() for divergent copies over gossip.
Category: Experimental
Composes with: hyper-p2p-pheromone-trail, hyper-p2p-whisper-mesh, hyper-p2p-entropy-beacon
Protocol: mirror-realm/v1
When to use
Multi-peer apps that need experimental over a shared Hyperswarm topic.
When not to use
Single-process tools with no P2P topic (use local APIs only or skip ready()).
Quick start
const { HyperP2PMirrorRealm } = require('hyper-p2p-mirror-realm')
const topic = process.argv[2] // 64-char hex or string
const mod = new HyperP2PMirrorRealm({ topic, enableBackgroundTimers: false })
await mod.ready() // joins swarm when topic set
// ... application logic ...
await mod.close()
Docs
-
docs/api.md — constructor, methods, events, errors
-
docs/architecture.md — wire types, state, composition
-
../_shared/PRODUCTION.md — production checklist
-
../_shared/DOC_STANDARDS.md — documentation standards
-
Integration:
../../real_tests/integration/—mirror-realm-two-node.js
Test
npm install && npm test