Files
modules/consensus-coordination/hyper-p2p-leader-lease
2026-05-20 22:56:32 -04:00
..
2026-05-20 22:56:32 -04:00
2026-05-20 22:56:32 -04:00
2026-05-20 22:56:32 -04:00
2026-05-20 21:19:52 -04:00
2026-05-20 22:56:32 -04:00
2026-05-20 21:57:50 -04:00
2026-05-20 21:57:50 -04:00
2026-05-20 22:56:32 -04:00

hyper-p2p-leader-lease

Term-based leader lease with campaign/vote gossip.

Protocol: leader-lease/v1

When to use

  • Electing a single coordinator for housekeeping (compaction, tick, gateway).
  • Soft leadership where stale leaders expire via lease TTL.

When not to use

  • Strongly consistent replicated logs (use raft-lite or full Raft).
  • Byzantine environments without extra auth.

Quick start

const { HyperP2PLeaderLease } = require('hyper-p2p-leader-lease')
const lease = new HyperP2PLeaderLease({ topic: 'coord', peerId: 'node-1' })
await lease.ready()
lease.campaign(1)
lease.vote(2, 'node-2')
console.log(lease.leader())
await lease.close()

Docs

Test

npm install && npm test