Разработка мобильного приложения для SocialFi-платформы
SocialFi — пересечение социальной сети и DeFi: пользователи монетизируют контент, получают токены за активность, торгуют «акциями» авторов или правом доступа к их контенту. Friend.tech, Farcaster, Lens Protocol — примеры на продакшн-аудитории. Мобильное приложение для SocialFi сложнее обычного социального: к стандартным фичам добавляется Web3-слой с кошельком, смарт-контрактами и транзакциями.
Архитектурные решения
Custodial vs 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 transactions) или через 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-подграфы для каждого контракта) или через событийный 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 при завершении транзакции: сервер мониторит события контракта через WebSocket-подписку (eth_subscribe("logs", {...}) или Alchemy Notify) → при новом событии отправляет FCM/APNs. Задержка: 5-30 секунд после включения транзакции в блок.
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 месяцев. Стоимость рассчитывается индивидуально.







