Files
modules/state-crdts/hyper-p2p-crdt-pn-counter

hyper-p2p-crdt-pn-counter

Positivenegative counter CRDT: per-peer P and N maps summed into a global value().

Category: State CRDTs · Protocol: crdt-pn-counter/v1

When to use

Distributed counts (votes, inventory deltas, connection tallies) with per-replica increments.

When not to use

Single-writer integers or strict serializable totals (use consensus). Text editing (use RGA).

Quick start

const { HyperP2PCrdtPnCounter } = require('hyper-p2p-crdt-pn-counter')
const c = new HyperP2PCrdtPnCounter({ topic: process.argv[2] })
await c.ready()
c.inc('peer-a', 3)
c.dec('peer-a', 1)
console.log(c.value())

Docs

docs/api.md · docs/architecture.md

Test

npm install && npm test · bare examples/basic.js [topic]