Розробка децентралізованої соціальної мережі під ключ

Ми проєктуємо та розробляємо децентралізовані соціальні мережі — від інтеграції з Lens Protocol до повністю кастомних протоколів. В основі кожного проекту лежить **on-chain social graph**, що забезпечує портативність identity та володіння даними. Помилка на етапі вибору архітектури може призвести до

Напрямки блокчейн-розробки

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1441
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    998
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1267
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    713
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    1003

Ми проєктуємо та розробляємо децентралізовані соціальні мережі — від інтеграції з Lens Protocol до повністю кастомних протоколів. В основі кожного проекту лежить on-chain social graph, що забезпечує портативність identity та володіння даними. Помилка на етапі вибору архітектури може призвести до перевитрати бюджету на 30-50%, тому ми починаємо з глибокого аналізу вимог. Наприклад, для одного з проєктів ми обрали Lens Protocol, що дозволило запустити MVP за 7 тижнів замість 4 місяців кастомної розробки.

Як обрати архітектуру для децентралізованої соціальної мережі?

Вибір протоколу диктується балансом між продуктивністю та децентралізацією.

  • Lens Protocol (Polygon) — все on‑chain: публікації, лайки, підписки. Кожна дія — транзакція. Gas сплачується або користувачем, або спонсорується через ERC‑4337. Ідеально для максимальної interoperability та portable identity. Мінус — затримки та газ на L2. Пропускна здатність: Lens Protocol обробляє до 1000 дій на секунду на Polygon, що в 5 разів більше, ніж у типового кастомного протоколу на Ethereum L1.
  • Farcaster — identity на Ethereum, контент на Hubs (федеративні сервери). Швидко, без газу за операції, але Hubs теоретично можуть фільтрувати повідомлення.
  • Кастомний протокол — повний контроль, але більше часу на аудит та розробку. Масштабування вимагає власних rollup-рішень.

Наш досвід: для стартапів з типовою функціональністю (стрічка, підписки, collect) оптимальний Lens Protocol — швидкий запуск за 6–10 тижнів при готовій інфраструктурі. Якщо потрібна повна незалежність від сторонніх протоколів або специфічна модерація — будуємо власні контракти. Використання готового протоколу дозволяє заощадити від 30 до 50 відсотків бюджету на розробку смарт-контрактів. Як зазначено в специфікації Lens Protocol, gas sponsoring доступний через ERC-4337, що критично для UX.

Як реалізувати інтеграцію з Lens Protocol?

import { LensClient, development, production } from "@lens-protocol/client"; const lensClient = new LensClient({ environment: production, }); // Отримання профілю const profile = await lensClient.profile.fetch({ forHandle: "lens/stani", }); // Публікація поста async function createPost( profileId: string, content: string, imageUrl?: string ): Promise<string> { const metadata = { $schema: "https://json-schemas.lens.dev/publications/text-only/3.0.0/schema.json", lens: { id: uuidv4(), content, locale: "en", mainContentFocus: "TEXT_ONLY", tags: [], }, }; const metadataURI = await uploadToIPFS(metadata); const result = await lensClient.publication.postOnchain({ contentURI: metadataURI, }); return result.id; } 

Collect механіка (монетизація):

const postWithCollect = await lensClient.publication.postOnchain({ contentURI: metadataURI, openActionModules: [ { collectOpenAction: { simpleCollectOpenAction: { amount: { currency: "0x0d500B1d8E8eF31E21C99d1Db9A6444d3ADf1270", // WMATIC value: "1", }, recipient: creatorAddress, referralFee: 5, // 5% рефералу followerOnly: true, }, }, }, ], }); 

Lens підтримує sponsoring через ERC‑4337 — користувачі не платять MATIC. Це ми налаштовуємо на етапі інтеграції.

Створення власного протоколу: смарт-контракти

Якщо потрібна повна незалежність, проєктуємо власні контракти. Нижче — приклади ключових компонентів з gas optimization пріоритетом.

Identity

contract SocialIdentity is ERC721 { struct Profile { string handle; string metadataURI; uint256 followerCount; uint256 followingCount; uint256 publicationCount; } mapping(string => uint256) public handleToTokenId; mapping(uint256 => Profile) public profiles; function createProfile(string calldata handle, string calldata metadataURI) external returns (uint256 tokenId) { require(handleToTokenId[handle] == 0, "Handle taken"); require(bytes(handle).length >= 3 && bytes(handle).length <= 31, "Invalid handle length"); tokenId = ++_tokenCounter; _mint(msg.sender, tokenId); profiles[tokenId] = Profile({ handle: handle, metadataURI: metadataURI, followerCount: 0, followingCount: 0, publicationCount: 0, }); handleToTokenId[handle] = tokenId; emit ProfileCreated(tokenId, handle, msg.sender); } } 

Publications

contract Publications { enum PublicationType { POST, COMMENT, REPOST } struct Publication { uint256 profileId; string contentURI; PublicationType pubType; uint256 parentId; uint256 timestamp; uint256 collectCount; uint256 commentCount; uint256 mirrorCount; } mapping(uint256 => Publication) public publications; function post(uint256 profileId, string calldata contentURI) external returns (uint256 pubId) { require(socialIdentity.ownerOf(profileId) == msg.sender, "Not profile owner"); pubId = ++_publicationCounter; publications[pubId] = Publication({ profileId: profileId, contentURI: contentURI, pubType: PublicationType.POST, parentId: 0, timestamp: block.timestamp, collectCount: 0, commentCount: 0, mirrorCount: 0, }); socialIdentity.incrementPublicationCount(profileId); emit Posted(pubId, profileId, contentURI); } } 

Social graph (Follows) реалізується окремим контрактом з NFT для кожного follow, що забезпечує унікальність відносин.

Контент та зберігання

Публікації зберігаються як JSON metadata на IPFS — кожен пост має свій CID. Для змінних даних (профіль, налаштування) використовуємо Ceramic/ComposeDB — децентралізовану базу даних поверх IPFS. Індексацію подій виконує TheGraph, що дає швидкі запити до стрічки.

Порівняння архітектур

Параметр Lens Protocol Farcaster Кастомний протокол
Децентралізація Висока Середня (Hubs) Повна
Газ для користувача Так (може бути спонсорований) Ні Так
Пропускна здатність ~1000 tx/s Висока (off-chain) Залежить від L2
Складність розробки Середня Низька Висока
Час запуску 6–10 тиж. 4–8 тиж. 4–6 міс.

Які етапи включає розробка?

  1. Аналіз вимог та вибір архітектури (1–2 тижні).
  2. Проектування смарт-контрактів або вибір готового протоколу.
  3. Розробка контрактів (identity, publications, social graph) при кастомному підході.
  4. Інтеграція фронтенду з блокчейном через wagmi + viem.
  5. Налаштування індексатора (TheGraph) та зберігання (IPFS, Ceramic).
  6. Тестування (unit, integration, security audit).
  7. Деплой в mainnet та підтримка.

Чому важливий аудит кастомних контрактів?

Власний протокол — це на 100% кастомний код. Помилка в контракті identity може заблокувати всі акаунти, а вразливість у social graph — призвести до втрати підписників. Ми проводимо аудит з використанням Slither, Mythril та фаззинг-тестування Echidna. Без аудиту запуск в mainnet неприпустимий.

Модерація та монетизація

Модерація будується на принципі «label, not delete»: контент не видаляється з протоколу, але позначається прапорцями (підхід Bluesky Labeler). Застосунки самостійно вирішують, який контент показувати. Для спільнот можна впровадити DAO-голосування за видалення з індексів.

Монетизація для творців включає:

  • Collect fees — читачі платять за копію поста (кожна транзакція коштує ~0.001 MATIC на Polygon).
  • Subscription NFT — щомісячний пропуск до преміум-контенту.
  • Tipping — мікроплатежі через L2.
  • Token gating — доступ лише для власників вказаного NFT.
  • Рекламний дохід — протокол розподіляє дохід між авторами пропорційно переглядам.

Що входить в роботу?

  • Смарт-контракти (Identity, Publications, SocialGraph) з повною документацією.
  • Фронтенд на Next.js + wagmi + viem.
  • Індексатор та API для стрічки та пошуку.
  • Зберігання на IPFS та Ceramic.
  • Юніт- та інтеграційне тестування, звіт аудиту.
  • Інструкції з деплою та подальшої підтримки.
  • Навчання команди замовника роботі з протоколом.
  • Місяць пост-деплойної підтримки.

Терміни та вартість

Терміни варіюються залежно від складності: базова інтеграція Lens Protocol займає 6–10 тижнів, кастомний протокол — 4–6 місяців плюс обов'язковий security audit. Точну вартість оцінюємо після брифу. Ми реалізували десятки Web3-проектів, гарантуємо аудит та супроводжуємо після запуску. Замовте попередню консультацію з архітектури — це безкоштовно та займе 30 хвилин. Зв'яжіться з нами, щоб обговорити деталі вашого проекту.