feat: update landing page with ontology-derived architecture info
Align rstack.online with the new ONTOLOGY.md three-layer model (rStack Foundation / rSpace Platform / rApps). Key changes: - Architecture section now shows rApps → rSpace → rStack layers - Hero subtitle uses ontology framing (local-first, composable, etc.) - Add x402 micropayments and Gnosis Safe to value architecture - Update Y.js/tldraw references to Automerge/FolkJS (current state) - EncryptID flow diagram shows full HKDF key hierarchy - Link to full ontology doc on GitHub - Nav updated: Architecture, Apps, Identity, Payments, Open Source Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
9b54b26daf
commit
257a1b2fd9
176
index.html
176
index.html
|
|
@ -1117,9 +1117,10 @@
|
|||
</div>
|
||||
<div class="nav-right">
|
||||
<div class="nav-links">
|
||||
<a href="#architecture">Architecture</a>
|
||||
<a href="#areas">Apps</a>
|
||||
<a href="#identity">Identity</a>
|
||||
<a href="#self-host">Self-Host</a>
|
||||
<a href="#tokens">Payments</a>
|
||||
<a href="#open-source">Open Source</a>
|
||||
</div>
|
||||
<a class="nav-demo-btn" href="https://demo.rspace.online/rspace">Try Demo</a>
|
||||
|
|
@ -1132,13 +1133,14 @@
|
|||
<span class="hero-label">Open Source · Self-Hosted · Community-Owned</span>
|
||||
<h1>The community stack you actually own</h1>
|
||||
<p class="subtitle">
|
||||
A complete suite of open-source tools for community self-governance —
|
||||
tied together with zero-knowledge identity and data sovereignty to the user.
|
||||
A composable, local-first platform for collaborative knowledge work,
|
||||
democratic governance, and programmable economic flows.
|
||||
</p>
|
||||
<p class="description">
|
||||
rStack combines the latest open-source tools into a cohesive platform that communities
|
||||
can self-host on their own infrastructure or run on shared community servers. One login,
|
||||
one data layer, twenty apps — no vendor lock-in, no surveillance, no kill switch.
|
||||
rStack combines self-sovereign identity, Automerge CRDTs, x402 micropayments, and
|
||||
wallet-abstracted multi-chain treasuries into a cohesive foundation. 25+ composable
|
||||
modules render on a spatial canvas. One passkey, one data layer —
|
||||
no vendor lock-in, no surveillance, no kill switch.
|
||||
</p>
|
||||
<div class="hero-actions">
|
||||
<a href="#areas" class="btn btn-primary">Explore the Stack</a>
|
||||
|
|
@ -1176,38 +1178,32 @@
|
|||
<span class="section-label purple">Architecture</span>
|
||||
<h2>How the stack fits together</h2>
|
||||
<p class="section-desc">
|
||||
rStack isn't a monolith. It's four independent layers that compose into
|
||||
something greater than the sum of their parts. Each layer can be swapped,
|
||||
extended, or self-hosted independently.
|
||||
Three layers, one coherent platform. Each layer is independently useful
|
||||
but gains power through composition. The cheapest layer with sufficient
|
||||
guarantees always wins — most operations never touch a blockchain.
|
||||
<a href="https://github.com/rspace-online/rspace-online/blob/main/ONTOLOGY.md" target="_blank" rel="noopener noreferrer" style="color:#a78bfa; text-decoration:underline;">Read the full ontology →</a>
|
||||
</p>
|
||||
|
||||
<div class="arch-layers">
|
||||
<div class="arch-layer apps">
|
||||
<div class="arch-layer-label">App Layer</div>
|
||||
<div class="arch-layer-label">rApps</div>
|
||||
<div class="arch-layer-content">
|
||||
<h4>20 purpose-built apps</h4>
|
||||
<p>Each app handles one job well — notes, voting, budgets, maps, chat. They share data through the sync layer below, so a vote in rVote can reference a budget in rFunds without either app knowing the other's internals.</p>
|
||||
<h4>25+ composable modules</h4>
|
||||
<p>Each module implements a standard interface with typed feeds (data, economic, governance, creative) and renders as a shape on the canvas. Modules communicate through flows, not hard-wired integrations — a vote in rVote references a budget in rFunds without either knowing the other's internals.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="arch-layer sync">
|
||||
<div class="arch-layer-label">Sync Layer</div>
|
||||
<div class="arch-layer-label">rSpace</div>
|
||||
<div class="arch-layer-content">
|
||||
<h4>CRDT-based real-time data mesh</h4>
|
||||
<p>Conflict-free replicated data types keep every app in sync — peer-to-peer, offline-capable, and eventually consistent. No central database, no single point of failure. Byzantine fault tolerant token ledger included.</p>
|
||||
<h4>Platform — Spaces, Canvas, Flows</h4>
|
||||
<p>The unification layer. Spaces are collaborative contexts (teams, projects, communities) with role-based access. The FolkJS spatial canvas positions modules as interactive shapes. Inter-module flows (data, economic, trust, governance) connect everything. Each space is itself an Automerge CRDT — collaborative, offline-capable, conflict-free.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="arch-layer identity">
|
||||
<div class="arch-layer-label">Identity Layer</div>
|
||||
<div class="arch-layer-label">rStack</div>
|
||||
<div class="arch-layer-content">
|
||||
<h4>rIDs (EncryptID) — zero-knowledge passkeys</h4>
|
||||
<p>One biometric prompt creates your identity, derives encryption/signing/DID keys on-device, and provisions a gasless smart wallet. Social recovery replaces seed phrases. One login for every app.</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="arch-layer infra">
|
||||
<div class="arch-layer-label">Infra Layer</div>
|
||||
<div class="arch-layer-content">
|
||||
<h4>Docker + Traefik + your hardware</h4>
|
||||
<p>Every app ships as an optimized Docker container. Traefik handles routing and TLS automatically. Deploy the full stack with a single <code>docker compose up</code> on any Linux server.</p>
|
||||
<h4>Foundation — Identity, Data, Payments, Crypto</h4>
|
||||
<p>No module implements its own auth, sync, or payments. <span class="hl-green">EncryptID</span> derives all keys from a single passkey. <span class="hl-purple">Automerge CRDTs</span> provide local-first sync with Byzantine fault tolerance. <span class="hl">x402 micropayments</span> make any HTTP endpoint payable. <span class="hl-orange">Gnosis Safe</span> wallets abstract multi-chain treasuries.</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1250,16 +1246,16 @@
|
|||
<div class="app-card-icon">🌌</div>
|
||||
<div><div class="app-card-name">rSpace</div><div class="app-card-domain">rspace.online</div></div>
|
||||
</div>
|
||||
<div class="app-card-desc">Collaborative spatial canvas. The integration hub where all r-Stack tools come together on a shared, infinite workspace. Real-time multiplayer with CRDT sync.</div>
|
||||
<div class="app-card-built"><span>tldraw</span><span>Y.js</span><span>WebSocket</span></div>
|
||||
<div class="app-card-desc">Collaborative spatial canvas. The integration hub where all rStack tools come together on a shared, infinite workspace. Real-time multiplayer with Automerge CRDT sync.</div>
|
||||
<div class="app-card-built"><span>FolkJS</span><span>Automerge</span><span>WebSocket</span></div>
|
||||
</a>
|
||||
<a href="https://rnotes.online" class="app-card" target="_blank" rel="noopener noreferrer">
|
||||
<div class="app-card-header">
|
||||
<div class="app-card-icon">📝</div>
|
||||
<div><div class="app-card-name">rNotes</div><div class="app-card-domain">rnotes.online</div></div>
|
||||
</div>
|
||||
<div class="app-card-desc">Real-time collaborative notebooks, checklists, and meeting notes. Block-based editor with end-to-end encryption and offline support.</div>
|
||||
<div class="app-card-built"><span>BlockNote</span><span>Y.js</span><span>E2EE</span></div>
|
||||
<div class="app-card-desc">Real-time collaborative notebooks, checklists, and meeting notes. Local-first with end-to-end encryption and offline support.</div>
|
||||
<div class="app-card-built"><span>Automerge</span><span>E2EE</span><span>Offline-first</span></div>
|
||||
</a>
|
||||
<a href="https://rpubs.online" class="app-card" target="_blank" rel="noopener noreferrer">
|
||||
<div class="app-card-header">
|
||||
|
|
@ -1548,95 +1544,87 @@
|
|||
<div class="eid-card-icon">💳</div>
|
||||
<h3>Wallet Abstraction</h3>
|
||||
<p>
|
||||
Every user gets an <span class="hl">ERC-4337</span> smart wallet — without
|
||||
ever seeing a wallet address or gas fee. Your passkey <em>is</em> your wallet signer.
|
||||
A paymaster sponsors fees. Session keys allow daily operations with a single biometric
|
||||
prompt per session.
|
||||
Your passkey derives a <span class="hl">secp256k1 EOA</span> that signs for
|
||||
<span class="hl">Gnosis Safe</span> multisig wallets across 12+ EVM chains.
|
||||
No MetaMask, no hardware wallet — the passkey <em>is</em> the wallet.
|
||||
Rollup-first (Base, Optimism) for sub-cent transactions, settle to L1 when needed.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="flow-box">
|
||||
<pre>
|
||||
You (fingerprint / face scan)
|
||||
|
|
||||
v
|
||||
┌──────────────────────────────────────────────────────────┐
|
||||
| EncryptID |
|
||||
| |
|
||||
| Layer 1: WebAuthn Passkey (hardware-backed) |
|
||||
| | |
|
||||
| Layer 2: Derived Keys (on-device, HKDF) |
|
||||
| |── Encryption Key ── rFiles, rNotes, rSpace E2E |
|
||||
| |── Signing Key ───── rVote ballots, authorship |
|
||||
| └── DID Key ───────── portable identity |
|
||||
| | |
|
||||
| Layer 3: Smart Wallet (Account Abstraction) |
|
||||
| |── Gasless transactions (paymaster-sponsored) |
|
||||
| |── Session keys (one prompt per session) |
|
||||
| └── Community treasury (multi-sig) |
|
||||
| | |
|
||||
| Layer 4: Cross-App SSO |
|
||||
| └── One login for all r-Stack apps |
|
||||
└──────────────────────────────────────────────────────────┘
|
||||
|
|
||||
v
|
||||
rSpace · rVote · rWallet · rFunds · rMaps · rFiles · ...
|
||||
Passkey (biometric / PIN on device)
|
||||
→ PRF extension yields hardware-bound salt
|
||||
→ HKDF Master Key (256-bit)
|
||||
├→ AES-256-GCM — encrypt documents, files, backups
|
||||
├→ Ed25519 — DID (did:key:z6Mk...) for identity
|
||||
├→ ECDSA P-256 — TLS-grade signing
|
||||
└→ secp256k1 — Ethereum EOA → Gnosis Safe wallet
|
||||
├→ Multi-chain treasury (12+ EVM chains)
|
||||
├→ x402 micropayment signing
|
||||
└→ Threshold confirm → execute
|
||||
|
||||
Auth Levels (time-decaying, re-escalated by fresh passkey tap):
|
||||
Basic → Standard (<15m) → Elevated (wallet ops) → Critical (key ops)
|
||||
</pre>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- ════════════════════════════════════════════════ TOKENS ════ -->
|
||||
<!-- ════════════════════════════════════════════════ VALUE ════ -->
|
||||
<div class="section" id="tokens">
|
||||
<div class="section-inner">
|
||||
<span class="section-label amber">Token Layer</span>
|
||||
<h2>Community token issuance</h2>
|
||||
<span class="section-label amber">Value Architecture</span>
|
||||
<h2>Payments as protocol, not product</h2>
|
||||
<p class="section-desc">
|
||||
Any r-Stack app can issue tokens through the shared CRDT data layer —
|
||||
no smart contract deployment, no gas fees, no blockchain expertise required.
|
||||
Bridge to on-chain when you're ready.
|
||||
Four layers of economic infrastructure. Use the cheapest layer that provides
|
||||
sufficient guarantees — most operations never touch a blockchain.
|
||||
</p>
|
||||
|
||||
<div class="token-features">
|
||||
<div class="token-card" style="grid-column: 1 / -1;">
|
||||
<h3>x402 Micropayments</h3>
|
||||
<p>
|
||||
<span class="hl">HTTP 402 Payment Required</span> as a first-class protocol.
|
||||
Any route can require payment by adding middleware. The client receives a 402
|
||||
with requirements (payTo, amount, network), signs with their passkey-derived wallet,
|
||||
and re-requests with an <code>X-PAYMENT</code> header. Settled on EVM L2 rollups
|
||||
(Base, Optimism) for sub-cent transaction costs. Use cases: file upload gates,
|
||||
AI generation costs, premium content, per-query API access.
|
||||
</p>
|
||||
</div>
|
||||
<div class="token-card">
|
||||
<h3>BFT-CRDT Tokens</h3>
|
||||
<p>
|
||||
Tokens are built on <span class="hl">Byzantine Fault Tolerant CRDTs</span> —
|
||||
the same conflict-free data structures that power real-time sync across every app.
|
||||
They replicate peer-to-peer, resolve conflicts automatically, and maintain a
|
||||
consistent ledger without a central mint. When ready, the CRDT ledger can bridge
|
||||
to an ERC-20 on any EVM chain through the Account Abstraction wallet.
|
||||
Tokens built on <span class="hl">Byzantine Fault Tolerant CRDTs</span> —
|
||||
peer-to-peer, conflict-free, no central mint. Membership tokens gate access,
|
||||
contribution credits reward participation. Bridge to ERC-20 when you need
|
||||
DeFi composability.
|
||||
</p>
|
||||
</div>
|
||||
<div class="token-card">
|
||||
<h3>Membership & access tokens</h3>
|
||||
<h3>Gnosis Safe Treasury</h3>
|
||||
<p>
|
||||
Gate access to private canvases, files, or voting channels. Revoke by removing
|
||||
the token. Permissions propagate in real-time through the CRDT mesh.
|
||||
Spaces can have multi-sig treasuries via Gnosis Safe. Funding proposals
|
||||
from rFunds flow into Safe wallets. Threshold signing by space admins.
|
||||
Same Safe address across L1 and 12+ L2 chains.
|
||||
</p>
|
||||
</div>
|
||||
<div class="token-card">
|
||||
<h3>Contribution credits</h3>
|
||||
<h3>Governance Tokens</h3>
|
||||
<p>
|
||||
Reward participation: meetings attended, tasks completed, content contributed.
|
||||
Credits accumulate and can be redeemed for governance weight, budget allocation,
|
||||
or marketplace purchases.
|
||||
Module-minted ERC-20 tokens via the canvas. Voting power in rVote tied to
|
||||
token holdings or delegation. Quadratic funding in rFunds weighted by
|
||||
token-gated participation.
|
||||
</p>
|
||||
</div>
|
||||
<div class="token-card">
|
||||
<h3>Fundraising & grants</h3>
|
||||
<h3>Rollup Strategy</h3>
|
||||
<p>
|
||||
Distribute project tokens to supporters. Track contributions transparently through
|
||||
rFunds and vote on allocation through rVote. Full history auditable by token holders.
|
||||
</p>
|
||||
</div>
|
||||
<div class="token-card">
|
||||
<h3>Bridge to on-chain</h3>
|
||||
<p>
|
||||
Start with zero-friction off-chain CRDT tokens. When you need DeFi composability
|
||||
or cross-community exchange, bridge to ERC-20 with a single action through
|
||||
the smart wallet.
|
||||
Data consensus via Automerge CRDT (off-chain, free, instant). Payment settlement
|
||||
on L2 rollups (~$0.001/tx). Governance finality on L1/L2 when needed.
|
||||
Token issuance on L2 for low-cost deployment.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
|
@ -1656,13 +1644,13 @@
|
|||
|
||||
<div class="oss-grid">
|
||||
<div class="oss-card">
|
||||
<h4>tldraw</h4>
|
||||
<p>Infinite canvas engine powering rSpace. Real-time multiplayer drawing, diagramming, and spatial thinking.</p>
|
||||
<h4>FolkJS</h4>
|
||||
<p>Spatial canvas engine powering rSpace. Web components positioned, connected, and composed on an infinite 2D surface.</p>
|
||||
<span class="oss-tag">Canvas</span>
|
||||
</div>
|
||||
<div class="oss-card">
|
||||
<h4>Y.js / CRDTs</h4>
|
||||
<p>Conflict-free replicated data types for real-time sync. Peer-to-peer, offline-capable, eventually consistent.</p>
|
||||
<h4>Automerge</h4>
|
||||
<p>Local-first CRDTs for real-time sync. Peer-to-peer, offline-capable, Byzantine fault tolerant. The data layer for every rApp.</p>
|
||||
<span class="oss-tag">Sync Layer</span>
|
||||
</div>
|
||||
<div class="oss-card">
|
||||
|
|
@ -1706,8 +1694,8 @@
|
|||
<span class="oss-tag">Analytics</span>
|
||||
</div>
|
||||
<div class="oss-card">
|
||||
<h4>ERC-4337</h4>
|
||||
<p>Account Abstraction standard for smart wallets. Gasless transactions, session keys, and social recovery.</p>
|
||||
<h4>Gnosis Safe</h4>
|
||||
<p>Multi-sig wallet standard. Passkey-derived EOA as signer. Threshold signing for community treasuries across 12+ EVM chains.</p>
|
||||
<span class="oss-tag">Wallet</span>
|
||||
</div>
|
||||
<div class="oss-card">
|
||||
|
|
@ -1716,8 +1704,8 @@
|
|||
<span class="oss-tag">Infrastructure</span>
|
||||
</div>
|
||||
<div class="oss-card">
|
||||
<h4>Hono / Next.js</h4>
|
||||
<p>Edge-first web frameworks. Fast, lightweight, and deployable anywhere — from Cloudflare Workers to Docker.</p>
|
||||
<h4>Hono + x402</h4>
|
||||
<p>Edge-first web framework with HTTP 402 micropayment middleware. Any route can require payment — settled on EVM L2 rollups.</p>
|
||||
<span class="oss-tag">Framework</span>
|
||||
</div>
|
||||
</div>
|
||||
|
|
|
|||
Loading…
Reference in New Issue