System Architecture
OmniSocial is designed as a modular, decentralized application (dApp) built on Polygon zkEVM, integrating multiple trustless layers to provide a secure, scalable, and user-owned social platform. Below
1. Front-End (Web App)
Built with: React, Tailwind CSS, shadcn/ui, wagmi
Purpose: Provides a modern, fast interface for interacting with the platform.
Features: Wallet connection, persona creation, content posting, tipping, DAO proposals and voting, light/dark mode, onboarding flows.
User Interaction Layer: It abstracts on-chain complexity and presents a clean user experience for both Web3-native and new users.
2. Smart Contracts (Polygon zkEVM)
Languages: Solidity (via Hardhat)
Contracts Include:
PersonaNFT
: On-chain identity NFTsOmniDAO
: Community governance and proposalsOmniToken
: ERC20 governance/utility tokenSocialPost
: Decentralized post publishingTreasury
: Community fund controlRepModule
: Tracks reputation signalsOmniWallet
: Smart contract wallet with 2FA, guardians
Purpose: Implements all trust-critical logic like content posting, tipping, voting, and token issuance.
3. Subgraph (GraphQL Indexing Layer)
Powered by: The Graph protocol
Purpose: Indexes smart contract events to power real-time UI features.
Indexed Data: Personas, posts, DAOs, proposals, votes, reputation changes.
Developer Use: Allows low-latency queries and filtering of on-chain data for the frontend and analytics.
4. Decentralized Storage Layer
Used for: Off-chain data persistence
Technologies: IPFS for user-generated content (text, media), Arweave for permanent metadata storage
How It Works: Files are uploaded via a web API to IPFS; the resulting content hash (CID) is stored in the smart contracts.
Benefits: Immutable, censorship-resistant storage of post content and avatars.
5. Security & Identity Layer
Components:
Post-quantum cryptography support (default at the wallet layer)
zkProof-based identity links (optional)
WebAuthn 2FA/U2F device support for logins and critical actions
Guardian recovery via smart wallet module
Purpose: Protects user accounts and social identities against compromise, coercion, or loss.
Key Flows: Account creation includes optional 2FA setup, and loss recovery can be initiated using guardian approval and identity proofs.
Last updated
Was this helpful?