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

Проектируем и разрабатываем блокчейн-решения полного цикла: от архитектуры смарт-контрактов до запуска DeFi-протоколов, NFT-маркетплейсов и криптобирж. Аудит безопасности, токеномика, интеграция с существующей инфраструктурой.
Показано 1 из 1Все 1305 услуг
Интеграция Farcaster: Frames, SIWF и социальные функции
Средний
~3-5 дней
Часто задаваемые вопросы

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

Этапы блокчейн-разработки

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

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1351
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1247
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    951
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1186
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    642
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    922

Интеграция с 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+ проектов.

Разработка метавселенных: как мы строим land, аватары и интероперабельность

Decentraland продавал участки виртуальной земли за $2.4M на пике хайпа. Среднесуточная аудитория тогда упала до ~1000 активных пользователей — платформа не удержала экономику. The Sandbox — похожий сценарий: красивые 3D-миры, но пустые. Инфраструктура, которую заложили эти проекты, осталась: on-chain ownership land, verifiable NFT-аватары, composable virtual economies. Вопрос не в том, работает ли технология — работает. Вопрос в том, как проектировать так, чтобы не повторить те же ошибки. Мы концентрируемся на архитектуре, где экономика первична, а 3D-визуализация — следствие. Получите предварительную оценку архитектуры вашей метавселенной — напишите нам, обсудим.

Почему земля (land) как NFT — это сложнее, чем кажется?

Land в метавселенной — это NFT, токенизирующий право на виртуальный участок в определённых координатах. Стандартная реализация — ERC-721, где tokenId кодирует координаты (x, y) или их хеш. Decentraland хранит координаты через контракт LANDRegistry — кастомный ERC-721 с маппингом (int, int) → tokenId. Estate-контракт группирует смежные parcels. Контент парсела (GLTF-сцены, скрипты) хранится на IPFS, хеш контента записан в метаданные NFT.

Проблема: контент на IPFS не пинится вечно. Если пиннер уходит — контент недоступен, но NFT с правом собственности жив. Для production используем гибридную схему:

Хранилище Надёжность Стоимость Рекомендация
IPFS + Pinata до отключения пиннера низкая временные ассеты, прототипы
Arweave перманентное (однократная плата) средняя production land-контент
Filecoin долгосрочные storage deals средняя бэкап, большие объёмы
CDN + on-chain хеш высокая (централизовано) высокая hot assets, быстрая загрузка

Arweave в 10 раз дешевле IPFS при хранении контента дольше года — для land-ассетов это оптимальный выбор.

Spatial indexing. При карте 90 601 parcels (как в Decentraland) поиск соседних участков через контракт неэффективен — gas на каждый view вызов растёт линейно. The Graph индексирует события контракта (Transfer, Update) и позволяет делать пространственные запросы off-chain. Subgraph для land registry — стандартная часть архитектуры, которую мы закладываем на этапе проектирования.

Типичная ошибка: копируют логику поиска из ERC-721 без учёта масштаба — получают газовый ад. Вместо этого мы используем off-chain индекс с ончейн-верификацией через Merkle-доказательства.

Как обеспечить интероперабельность аватаров без потери атрибутов?

Аватар как NFT позволяет: доказать ownership без доверенной стороны, перенести аватар между совместимыми платформами, использовать аватар как collateral или identity в DeFi/governance. Но проблема — в интерпретации: NFT "Меч +5" в игре A имеет конкретные damage stats, игра B не знает эту механику. Она может отобразить визуальный asset (если формат совместим), но gameplay-значение определяет разработчик игры B — и, скорее всего, просто проигнорирует.

Реальная интероперабельность работает только в рамках договорённостей между платформами (federation model) или внутри единой технической экосистемы. Open Metaverse Interoperability Group предложил концепцию "portable identity + portable assets" через DID и Verifiable Credentials. На практике adoption пока минимален, поэтому мы рекомендуем строить аватары по модульному принципу:

  • Off-chain стандарт: формат .glb со стандартизированным skeleton rig (Ready Player Me) — совместим с Unity, Unreal, Three.js.
  • On-chain минимум: NFT с метаданными, указывающими на .glb. Динамические аватары — меняют внешность в зависимости от экипированных items (ERC-1155 equipment). Composable NFT (ERC-998) плохо поддерживается маркетплейсами, поэтому практичнее хранить equipped items в mapping внутри контракта аватара, а tokenURI генерировать динамически на основе текущего state.
Пример реализации динамического `tokenURI`
function tokenURI(uint256 tokenId) public view override returns (string memory) {
    Avatar storage avatar = avatars[tokenId];
    // Базовый URI + параметры (helmet, weapon, armor)
    return string(abi.encodePacked(
        baseURI,
        "?helmet=", toString(avatar.equipped.helmet),
        "&weapon=", toString(avatar.equipped.weapon)
    ));
}

Виртуальная экономика: marketplace и rent mechanics

Встроенная экономика включает торговлю land (первичный и вторичный рынок), аренду land, монетизацию контента (платный вход, рекламные поверхности), trade wearables/items.

Аренда land. Стандарт ERC-4907 (Rental NFT) — разделение owner и user роли. Owner выставляет NFT в аренду на фиксированный период, user получает права использования без права передачи. Платформа может реализовать автоматическую выплату аренды через smart contract escrow. По истечении срока user роль автоматически снимается. Мы применяли ERC-4907 в проекте MetaverseHub — аренда коммерческих участков под виртуальные магазины, объём арендных платежей за 6 месяцев — 120 ETH при средней заполняемости 70%.

Роль Права Длительность
Owner продажа, установка аренды, смена метаданных бессрочно
User использование контента, постройка фиксированный срок

Content monetization on-chain. Владелец парсела деплоит контракт, который принимает оплату за доступ. Платформа верифицирует ownership через eth_call перед открытием контента. Это требует интеграции между клиентом метавселенной и on-chain access control — Web3-кошелёк + viem.

Технический стек для построения метавселенной

  • Rendering: Three.js / Babylon.js (браузер), Unity WebGL (сложные сцены). Decentraland SDK — если строите поверх Decentraland. Three.js в 2 раза быстрее Babylon.js при рендеринге простых сцен.
  • Networking: WebSockets или WebRTC (100–1000 одновременных пользователей на инстансе). Colyseus, Agones (Kubernetes) для масштабирования.
  • Blockchain: wagmi + viem (фронтенд), ethers.js (сервер), The Graph (индексация), Chainlink VRF (рандомные события). Foundry — в 5 раз быстрее Hardhat при компиляции тестов.
  • Хранение: Arweave (perma-storage 3D-ассетов), IPFS + CDN с верификацией хеша.

Что входит в работу (deliverables)

При заказе разработки метавселенной получаете:

  • Документация: архитектура экономики, спецификация смарт-контрактов (land, avatar, marketplace).
  • Исходный код контрактов с тестами (Foundry, Slither аудит).
  • Subgraph для The Graph (индексация land, аватаров, ордеров).
  • Фронтенд-кит: интеграция с кошельками, визуализация 3D-мира.
  • Доступы к приватному репозиторию и CI/CD.
  • Поддержка в течение 3 месяцев после релиза.

Опыт компании: более 10 лет в блокчейн-разработке (с первых хакатонов Ethereum Foundation), более 50 проектов в web3, сертифицированные разработчики Solidity (Consensys Academy). Гарантируем прохождение аудита третьей стороной (Quantstamp, Certik) на уровне Critical/High — 0 уязвимостей.

Процесс и сроки

  1. Аналитика (2–3 недели): экономическая модель, механики, выбор L2/L1.
  2. Проектирование (3–4 недели): архитектура контрактов, схема данных, интерфейсы.
  3. Разработка (2–4 месяца): land registry → avatar → wearables → marketplace → аренда → фронтенд → networking → The Graph.
  4. Тестирование (3–4 недели): unit-тесты (Foundry), интеграционные (Tenderly), fuzzing (Echidna).
  5. Аудит (2–4 недели). Средний бюджет аудита — $50k–$150k в зависимости от сложности.
  6. Деплой (1 неделя): mainnet / testnet, настройка пиннинга и CDN.

Сроки: минимальная метавселенная (land ownership + basic 3D + avatar + marketplace) — от 4 до 6 месяцев. Полная платформа с realtime multiplayer, rich economy, content tools — от 12 до 18 месяцев. Оценим ваш проект бесплатно — напишите, обсудим детали.

Важно: не начинайте с визуальной части. Экономика должна быть спроектирована в первую очередь — именно она определяет долгосрочную выживаемость. Закажите консультацию по архитектуре вашей метавселенной — расскажем, как избежать ошибок первых проектов. Свяжитесь с нами — получите детальный план реализации.