Інтеграція 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 продавав ділянки віртуальної землі за значні суми на піку хайпу. Середньодобова аудиторія тоді впала до близько 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 місяців був значним при середній заповнюваності 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 тижні). Середній бюджет аудиту залежить від складності.
  6. Деплой (1 тиждень): mainnet / testnet, налаштування піннінгу та CDN.

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

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