Интеграция Farcaster: Frames, SIWF и социальные функции

Интеграция с Farcaster При разработке социального dApp вы сталкиваетесь с дилеммой: использовать централизованный API или блокчейн с высокими комиссиями. Farcaster предлагает третий путь — децентрализованный протокол с off-chain сообщениями и on-chain идентификацией. [Farcaster](https://en.wikipe

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

Часто задаваемые вопросы

Последние работы

  • 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

Интеграция с Farcaster

При разработке социального dApp вы сталкиваетесь с дилеммой: использовать централизованный API или блокчейн с высокими комиссиями. Farcaster предлагает третий путь — децентрализованный протокол с off-chain сообщениями и on-chain идентификацией. Farcaster — протокол, где каждое действие не требует газа, а идентификация привязана к Ethereum через FID. Мы внедрили его в более чем 30 проектах за несколько лет, и теперь ваш проект может присоединиться к этой экосистеме.

Farcaster — децентрализованный social protocol с on-chain identity (Ethereum) и off-chain сообщениями (Hubs). В отличие от Lens, Farcaster приоритизирует скорость и developer experience: нет газа за каждое действие, нет latency блокчейна для сообщений. Быстро растущая экосистема с Warpcast как основным клиентом. Аутентификация через SIWF занимает 2 секунды, а Frames позволяют создавать интерактивные посты без перезагрузки страницы.

Почему Farcaster лучше Lens?

Критерий Farcaster Lens Protocol
Gas за действия Нет (off-chain сообщения) Есть за каждую транзакцию
Developer experience Высокая (Neynar API, Frog) Средняя (подписи на Polygon)
Скорость сообщений Мгновенная Зависит от блокчейна
Frames (интерактив) Встроенная поддержка Требует внешних решений
Аутентификация SIWF (Sign In With Farcaster) SIWE (Sign In With Ethereum)

Farcaster обеспечивает в 10 раз меньше задержек для сообщений и не требует оплаты газа за каждое действие, что критично для социальных приложений. В реальном проекте NFT-маркетплейса мы сократили время аутентификации до 2 секунд, а публикация кастов происходит мгновенно.

Как интегрировать Farcaster в проект?

Процесс интеграции состоит из четырёх этапов:

  1. Аналитика — определяем необходимые функции: аутентификация, Frames, каналы, чтение данных. Выбираем провайдера Hubs: Neynar (managed, быстрый запуск) или Pinata (самостоятельный хостинг).
  2. Проектирование — настраиваем signer-ключи Ed25519, выбираем стек: Frog для Frames, @farcaster/auth-kit для SIWF, Neynar API для данных.
  3. Реализация — пишем смарт-контракты (если нужны), серверные обработчики, клиентские хуки. Оптимизируем gas для on-chain транзакций через EIP-1559.
  4. Тестирование и деплой — проверяем в Warpcast и других клиентах, используем эмулятор Frog для локальной отладки, запускаем нагрузочное тестирование.

Ключевые компоненты интеграции

  • FID (Farcaster ID): on-chain идентификатор на Optimism. Регистрация один раз, стоит газ. Мы помогаем с регистрацией и управлением.
  • Frames: интерактивные элементы прямо в ленте — мини-приложения внутри постов. Стек: Frog (TypeScript), Open Graph изображения.
  • Sign In With Farcaster (SIWF): аутентификация через Farcaster аккаунт — аналог SIWE. Используем @farcaster/auth-kit для React.
  • Neynar API: managed Hub API, снимает необходимость запускать собственный Hub. Предоставляет публикацию кастов, чтение ленты, поиск пользователей.

Реальный кейс: интеграция Farcaster для P2P-платформы

Заказчик хотел добавить социальные функции в свою P2P-платформу обмена токенами. Основная задача — аутентификация через Farcaster и публикация сделок в каналы. Мы реализовали SIWF с @farcaster/auth-kit за 3 дня, настроили Neynar API для чтения ленты подписчиков и создали кастомные Frames для подтверждения сделок прямо в ленте. Пользователи получили возможность совершать обмен без перехода на сайт — всё внутри Warpcast. Результат: время аутентификации сократилось в 5 раз, количество завершённых сделок выросло на 40%.

Пример реализации Frames

import { Frog } from "frog"; import { Button, FrameContext } from "frog"; const app = new Frog({ basePath: "/api" }); // Простой frame с минтингом NFT app.frame("/mint-nft", async (c: FrameContext) => { const { buttonValue, frameData } = c; let status = "ready"; let txHash = ""; if (buttonValue === "mint") { // Инициируем минт транзакцию try { txHash = await mintNFT(frameData?.fid?.toString() ?? ""); status = "minted"; } catch { status = "error"; } } return c.res({ image: ( <div style={{ display: "flex", flexDirection: "column", alignItems: "center" }}> <img src="https://yourapp.com/nft-preview.png" width="400" height="300" /> {status === "minted" && <p>Minted! TX: {txHash.slice(0, 10)}...</p>} {status === "error" && <p>Error minting. Try again.</p>} {status === "ready" && <p>Mint your exclusive NFT</p>} </div> ), intents: [ status === "ready" && <Button value="mint">Mint NFT</Button>, status === "minted" && <Button.Link href={`https://etherscan.io/tx/${txHash}`}>View TX</Button.Link>, ], }); }); 

Пример работы с Neynar API

import { NeynarAPIClient } from "@neynar/nodejs-sdk"; const neynar = new NeynarAPIClient({ apiKey: process.env.NEYNAR_API_KEY! }); // Публикация каста (поста) const cast = await neynar.publishCast( signerUUID, // UUID signer, зарегистрированного через Neynar "Hello Farcaster! #web3", { embeds: [{ url: "https://yourapp.com/post/123" }], channelId: "dev", // публикация в канале /dev } ); // Получение ленты по FID const feed = await neynar.fetchFeed("following", { fid: 12345, limit: 25, cursor: nextCursor, }); // Получение followers const followers = await neynar.fetchUserFollowers({ fid: 12345 }); // Поиск пользователей const users = await neynar.searchUser("alice", { viewerFid: myFid }); 

Аутентификация через SIWF

import { createAppClient, viemConnector } from "@farcaster/auth-client"; const appClient = createAppClient({ ethereum: viemConnector(), }); // Создаём channel для auth const { channelToken, url, nonce } = await appClient.createChannel({ siweUri: "https://yourapp.com/login", domain: "yourapp.com", }); // Пользователь сканирует QR код или переходит по ссылке в Warpcast // После подтверждения — получаем статус const status = await appClient.watchStatus({ channelToken }); if (status.data.state === "completed") { const { fid, displayName, pfpUrl, username } = status.data; // Пользователь аутентифицирован await createUserSession(fid, username); } 

React хуки для Farcaster

import { AuthKitProvider, useSignIn } from "@farcaster/auth-kit"; function LoginButton() { const { signIn, isLoading, isSuccess, profile } = useSignIn({ onSuccess: (res) => { console.log(`Logged in as ${res.username} (FID: ${res.fid})`); }, }); return ( <button onClick={signIn} disabled={isLoading}> {isLoading ? "Connecting..." : "Sign In with Farcaster"} </button> ); } function App() { return ( <AuthKitProvider config={{ rpcUrl: "https://mainnet.optimism.io", domain: "yourapp.com", siweUri: "https://yourapp.com/login", }} > <LoginButton /> </AuthKitProvider> ); } 

Какие проблемы возникают при интеграции Farcaster?

  • Истечение signer-ключей: ключи Ed25519 имеют срок действия. Используем TTL-логику с автоматическим продлением через Neynar.
  • Ошибка при публикации каста: часто из-за неверного signerUUID. Проверяем регистрацию signer через Neynar Dashboard.
  • Gas для Frames с транзакциями: оптимизируем вызовы смарт-контрактов, используем EIP-1559 для прогнозируемой стоимости.
  • Несовместимость Frames в разных клиентах: тестируем в Warpcast, Supercast и через эмулятор Frog.

Что входит в работу?

  • Разработка смарт-контрактов (если требуется кастомная логика)
  • Настройка Neynar API и signer-ключей
  • Реализация SIWF с @farcaster/auth-kit
  • Создание Frames с использованием Frog
  • Интеграция каналов и чтения ленты
  • Документация кода и инструкция по развертыванию
  • Техническая поддержка 2 недели после деплоя
  • Передача доступов и обучение вашей команды

Закажите интеграцию Farcaster уже сегодня, чтобы ваше dApp стало частью быстрорастущей экосистемы.

Сроки и стоимость

Этап Длительность Результат
SIWF + базовая социальная лента от 1 недели Готовая аутентификация, лента подписчиков
Frames с транзакциями от 1 недели Интерактивные посты с минтингом / голосованием
Полный набор (SIWF + Frames + каналы + кастомные контракты) от 3 недель Полноценное социальное dApp на Farcaster

Стоимость рассчитывается индивидуально после оценки проекта. Получите консультацию нашего инженера — свяжитесь с нами, и мы дадим примерную оценку в течение дня.

Мы гарантируем качество кода и соблюдение стандартов безопасности. Доверьте интеграцию профессионалам с опытом 30+ проектов.