Ontwikkelaarsoverzicht

Aan de slag

Als je gewoon wilt weten hoe je programmatisch op Hashiverse kunt posten — via een knop, Python of de opdrachtregel — begin hier. Als je in plaats daarvan wilt weten hoe Hashiverse is gebouwd, lees dan verder.

Hashiverse is een gedecentraliseerd, post-quantum-bestendig P2P sociaal netwerk. De ambities beschreven in de Visie-sectie vertalen zich rechtstreeks naar technische beslissingen die het waard zijn te begrijpen voordat je in de code duikt. Deze sectie behandelt die beslissingen: waarom ze zijn genomen, wat ze kosten en waar ze in de broncode wonen.

Repository-indeling

hashiverse/
├── hashiverse-rust/                   Rust workspace (nightly)
│   ├── hashiverse-lib/                Core protocol — native + WASM
│   ├── hashiverse-server-lib/         Server library (reusable infra)
│   ├── hashiverse-server/             Server binary (thin wrapper)
│   ├── hashiverse-client-wasm/        Browser WASM wrapper
│   └── hashiverse-integration-tests/  End-to-end tests
├── hashiverse-client-web/             TypeScript / React 19 SPA
└── www/                               Deze site (Astro)

Het tweelaagsontwerp

hashiverse-lib is het protocol. Het compileert naar native code (voor de server) en naar WebAssembly (voor de browserclient). Alle cryptografie, DHT-logica, bericht-encodering en client-API leven hier. Elk platform dat WASM of native Rust kan draaien kan een volwaardige deelnemer in het netwerk zijn.

hashiverse-client-web is de referentie-browserclient — een React 19 SPA die de WASM-client in een Web Worker laadt en de hoofdthread vrijhoudt. Hij praat via een interface op basis van berichtuitwisseling met de WASM-module; de protocol-logica die hij aanroept is identiek aan wat native op de server draait.

Vier modules in hashiverse-lib

Waar te beginnen

Als je nieuw bent in de codebase zijn de beste instappunten:

De secties in deze ontwikkelaarsgids behandelen elk een specifiek ontwerpgebied. Elke sectie verwijst naar de relevante bronbestanden zodat je de ideeën rechtstreeks de code in kunt volgen.