hyper-p2p-crdt-two-phase-set
Two-phase set (2P-Set) CRDT: add and remove sets merged for membership.
Category: State CRDTs · Protocol: crdt-two-phase-set/v1
When to use
Replicated sets with removals that must converge (ban lists, revoked IDs).
When not to use
Elements that can be re-added after remove without tracking history (consider OR-Set patterns). Grow-only data (use G-Set).
Quick start
const { HyperP2PCrdtTwoPhaseSet } = require('hyper-p2p-crdt-two-phase-set')
const s = new HyperP2PCrdtTwoPhaseSet({ topic: process.argv[2] })
await s.ready()
s.add('x')
s.remove('x')
console.log(s.elements())
Docs
docs/api.md · docs/architecture.md
Test
npm install && npm test · bare examples/basic.js [topic]