Розробка мобільної програми для SocialFi-платформи
SocialFi — пересічення соціальної мережі та DeFi: користувачі монетизують контент, отримують токени за активність, торгують "акціями" авторів або правом доступу до їх контенту. Friend.tech, Farcaster, Lens Protocol — приклади на production-аудиторії. Мобільна програма для SocialFi складніша за звичайну соціальну: до стандартних фічей додається Web3-шар з кошельком, смарт-контрактами та транзакціями.
Архітектурні рішення
Custodial проти Non-custodial кошелька
Головний вибір на старті: кошелек на стороні користувача (non-custodial) або ви управляєте ключами (custodial/MPC).
Non-custodial — користувач зберігає seed phrase. Повний контроль, але складний UX: втратив seed — втратив все. Підходить для аудиторії, яка вже в крипті.
MPC (multi-party computation) — ключи розділені між пристроєм та сервером, жодна сторона не знає повний ключ. Відновлення через e-mail/телефон. Privy, Dynamic, ZeroDev, Web3Auth — провайдери MPC-кошельків з мобільними SDK. Це правильний вибір для масової аудиторії без крипто-досвіду.
Embedded wallet через Privy на iOS:
let privy = PrivyClient(appId: "YOUR_APP_ID", appClientId: "YOUR_CLIENT_ID")
// Авторизація через e-mail OTP
privy.auth.sendCode(to: email) { result in ... }
privy.auth.loginWithCode(code: otp) { result in
let wallet = result.user.embeddedWallets.first
// Адреса кошелька без seed phrase для користувача
}
Мережа та смарт-контракти
Більшість SocialFi-програм розгортаються на L2 (Base, Optimism, Arbitrum, Polygon) — газ дешевше, транзакції швидше. Base (від Coinbase) популярна в SocialFi завдяки низьким комісіям та інтеграції з Coinbase Wallet.
Взаємодія з контрактами — через ethers.js/viem на Web3-шарі або через нативний RPC. На мобілі це відбувається на бекенді (сервер викликає контракт за користувача через gasless транзакції) або через WalletConnect для підтвердження користувачем.
Ключові механіки SocialFi
Токенізація контенту
Кожен пост — NFT або токен з параметрами. Mint при публікації — транзакція в блокчейні. Для швидкості: "lazy minting" — NFT створюється on-chain тільки при першій покупці, до цього зберігається як signed voucher на сервері.
Friend.tech-механіка: покупка "ключів"
Торговля access-ключами автора по формулі bonding curve. Смарт-контракт визначає ціну — чим більше ключів куплено, тим дорожче наступний. Кожна покупка/продажа — on-chain транзакція.
На мобілі: buyShares(subjectAddress, amount) → підписання транзакції через embedded wallet → відправка в RPC → відстеження статусу через eth_getTransactionReceipt.
Користувач не повинен видіти hex-хеші транзакцій — показуємо "Покупка виконана" або "Обробка..." з прогрес-баром, поки транзакція підтверджується.
Gasless транзакції
Газ — головна перешкода для нової аудиторії. Account Abstraction (ERC-4337) дозволяє оплачувати газ за користувача (Paymaster). Biconomy, Gelato, Pimlico — Paymaster-провайдери. Інтеграція через UserOperation замість звичайної транзакції: сервер підписує Paymaster-дані, користувач підписує UserOperation через embedded wallet.
Лента та соціальний граф
Лента SocialFi-програми звичайно гібридна: on-chain події (mint, buy, sell) + звичайні пости. On-chain події підтягуються через The Graph Protocol (GraphQL-підграфи для кожного контракту) або через event indexer (Ponder, Moralis, Alchemy NFT API).
Приклад GraphQL через The Graph:
query FeedEvents($user: String!) {
trades(where: { subject: $user }, orderBy: blockTimestamp, orderDirection: desc) {
id
trader
isBuy
shareAmount
ethAmount
blockTimestamp
}
}
На мобілі запити через Apollo Client (Kotlin/Swift) або graphql_flutter.
Push-повідомлення про транзакції
Push при завершенні: сервер мониторить події контракту через WebSocket-підписку (eth_subscribe("logs", {...}) або Alchemy Notify) → при новій подіїтправляє FCM/APNs. Затримка: 5-30 секунд після включення транзакції в блок.
Crypto UI/UX
- Показувати суми у фіатному еквіваленті рядом з ETH —
0.003 ETH (~$8.50) - Статус транзакції — spinner з таймером, не бескінечна загрузка
- "Підтвердіть транзакцію" — ясний екран з сумою, адресою контракту, комісією
- Відновлення кошелька через e-mail — не seed phrase для звичайного користувача
Технічний стек
| Шар | Технології |
|---|---|
| Mobile UI | React Native / Flutter |
| Web3 wallet | Privy / Dynamic / Web3Auth (MPC) |
| Contract interaction | viem / ethers.js |
| Chain | Base / Optimism |
| Indexer | The Graph / Alchemy |
| Notifications | FCM/APNs + Alchemy Notify |
| Backend | Node.js / Go з ethers |
Етапи роботи
Вибір архітектури кошелька та мережі → розробка смарт-контрактів (аудит обов'язковий) → інтеграція MPC-кошелька → реалізація ленти та соціального графа → gasless транзакції → тестування на testnet → запуск на mainnet.
Часова шкала
MVP з базовою SocialFi-механікою (кошелек, контент як NFT, торговля ключами) — 2-3 місяці. Повна платформа з кастомними смарт-контрактами, аудитом та аналітикою — 4-6 місяців. Вартість рассчітується індивідуально.







