Files
modules/storage-autobase/hyper-p2p-autobase-view-sync/README.md
T
Raven ScottandCursor a11e22badc Add storage stack modules and track them in git
The modules workspace previously ignored every path matching `storage-*`,
which kept all Hypercore, Hyperbee, Hyperdrive, and Autobase packages out
of version control. Narrow .gitignore to test-artifact patterns only so
production category trees are committed.

Storage packages (23 total):
- storage-hypercore (7): replicator, seed-policy, fork-picker, merkle-sync,
  priority-fetch, bitfield-scheduler, audit-chain
- storage-hyperbee (5): batch-write, diff-follow, range-watch,
  secondary-index, tombstone-gc
- storage-hyperdrive (6): entry-catalog, gc-sweep, mirror-sync, mount-bridge,
  version-snapshot, watch-notify
- storage-autobase (5): fork-choice, view-sync, writer-lease, indexer-bus,
  light-writer

Implementation highlights:
- Shared attach/gossip helpers in _shared/storage-gossip-base.js
- P2P modules use Protomux gossip via p2p-bare; local planners omit swarm
- Recent deepen pass: priority queues, batch caps, audit export/import,
  watch/notify aliases on range-watch, fork/view lease helpers, etc.
- Per-package README, docs/api.md, docs/architecture.md, tests, examples

Also update modules/README.md doc hub links for the full storage stack
(hypercore, hyperbee, hyperdrive, autobase).

Co-authored-by: Cursor <[email protected]>
2026-05-21 00:17:51 -04:00

42 lines
1.1 KiB
Markdown

# hyper-p2p-autobase-view-sync
Gossip-synced Autobase view version + content hash; reactive UIs can mirror via `hyper-p2p-reactive-state`. Hyperswarm gossip when `topic` is set.
**Category:** Storage (Autobase)
**Composes with:** `hyper-p2p-reactive-state`
**Protocol:** `autobase-view-sync/v1`
## When to use
Peers must agree on the latest materialized view version/hash.
## When not to use
View state is local-only or full Autobase sync replaces hash checks.
## Quick start
```js
const { HyperP2PAutobaseViewSync } = require('hyper-p2p-autobase-view-sync')
const topic = process.argv[2] // 64-char hex or string
const mod = new HyperP2PAutobaseViewSync({ topic })
await mod.ready() // joins swarm when topic set
// ... application logic ...
await mod.close()
```
## Docs
- [docs/api.md](docs/api.md) — constructor, methods, events, errors
- [docs/architecture.md](docs/architecture.md) — wire types, state, composition
- [../_shared/PRODUCTION.md](../../_shared/PRODUCTION.md) — production checklist
- [../_shared/DOC_STANDARDS.md](../../_shared/DOC_STANDARDS.md) — documentation standards
## Test
```bash
npm install && npm test
```