AD4M link language that syncs Perspective triples via an HTTP sidecar gateway backed by Hyperswarm + Corestore.
- Commits: links → blocks appended to a Hypercore feed via the sidecar gateway
- Sync: polls gateway for new blocks → local links
- Query: indexed local store (source, target, predicate)
- P2P replication: Hyperswarm DHT for peer discovery and feed replication
- Sidecar pattern: a Node.js gateway process handles Hyperswarm; the language talks HTTP
- Telepresence: peer presence tracking and signalling via Hyperswarm connections through the sidecar gateway
| Variable | Description |
|---|---|
HYPERCORE_KEY |
Public key of the Hypercore feed |
DISCOVERY_KEY |
Discovery key for Hyperswarm |
BOOTSTRAP_NODES |
DHT bootstrap nodes |
HYPERCORE_GATEWAY_URL |
HTTP sidecar gateway URL |
NEIGHBOURHOOD_META |
AD4M neighbourhood metadata |
pnpm install
deno run --allow-all esbuild.tsRequires @coasys/ad4m-ldk at ../ad4m/ad4m-ldk/js/ or set AD4M_LDK_ENTRY.
node --experimental-vm-modules --import tsx --test tests/*.test.ts281 tests across 12 suites.
Same pure/impure pattern as all AD4M link languages. Protocol-specific modules:
src/commit-block.ts/commit-block.pure.ts— block format for perspective diffssrc/encryption.ts— feed encryptionsrc/index-keys.ts/index-keys.pure.ts— secondary index managementsrc/membership.ts/membership.pure.ts— Hyperswarm peer membershipsrc/signals.ts/signals.pure.ts— Hyperswarm signalingsrc/translate.ts/translate.pure.ts— link ↔ block translationsrc/dual-language.ts— dual-language supportsrc/sdna.ts— social DNA definitionssrc/settings.ts— language settingssrc/sync.ts— sync orchestration
ad4m:host imports confined to 4 adapter files + index.ts.
CAL-1.0