hyper-p2p-crdt-or-map
Observed-remove map CRDT: LWW per key with explicit remove() tombstones, replicated via gossip.
Category: State CRDTs · Protocol: crdt-or-map/v1
When to use
Shared maps where deletes must converge (tags, settings keys, room metadata).
When not to use
Simple scalar registers without key removal semantics (use LWW register). Grow-only membership (use G-Set / 2P-Set).
Quick start
const { HyperP2PCrdtOrMap } = require('hyper-p2p-crdt-or-map')
const map = new HyperP2PCrdtOrMap({ topic: process.argv[2] })
await map.ready()
map.set('room', { name: 'lobby' })
map.remove('room')
await map.close()
Docs
docs/api.md · docs/architecture.md
Test
npm install && npm test · bare examples/basic.js [topic]