993 B
993 B
Hypercore + Corestore Interconnection
Overview
Corestore: Factory/namespacer for Hypercores. Efficient multi-core mgmt.
Why? Hypercore ctor expensive; corestore pools storage/replication.
Flow
graph LR
App[new Corestore('./ns')] --> Core1[store.get(null)] %% new
App --> Core2[store.get(key)] %% load
App --> Named[store.get('db')] %% namespace
Core1 -.-> Replicate[store.replicate(conn)]
Core2 -.-> Replicate
API Synergy
const Corestore = require('corestore')
const store = new Corestore('./data')
const log = store.get(null) %% anon writable
const idx = store.get(null, {valueEncoding: 'json'}) %% readonly?
await store.replicate(conn) %% All cores over 1 stream!
Namespace: get('logs/chat') → keyed core.
Benefits: Shared bitfields/proofs, atomic sessions.
Hyperdrive Ex: drive.db = Hyperbee(corestore.get('db'))
Scale: 1000s cores, e.g. user shards.
Source: corestore npm, hypercore examples.