Інтеграція з Collab.Land (token-gated доступ)

Проєктуємо та розробляємо блокчейн-рішення повного циклу: від архітектури смарт-контрактів до запуску DeFi-протоколів, NFT-маркетплейсів та криптобірж. Аудит безпеки, токеноміка, інтеграція з наявною інфраструктурою.
Показано 1 з 1Усі 1306 послуг
Інтеграція з Collab.Land (token-gated доступ)
Простий
від 1 дня до 3 днів
Часті запитання

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

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

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1306
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1218
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    920
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1147
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    610
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    885

Інтеграція з Collab.Land (доступ на основі токенів)

Collab.Land — це бот для Discord та Telegram, який перевіряє власність токенів/NFT й автоматично присвоює ролі. Інтеграція займає години, але вимагає розуміння верифікації токенів та підтримуваних типів умов.

Як працює гейтинг токенів через Collab.Land

Простої схеми: користувач входить в Discord → натискає "Verify" → підписує повідомлення через гаманець (без транзакції, безкоштовно) → Collab.Land перевіряє on-chain баланс → присвоює роль.

Підтримувані типи активів:

  • ERC-20: мінімальний баланс токена
  • ERC-721: власність NFT з колекції, конкретний tokenId або trait-based
  • ERC-1155: власність конкретного ID токена
  • Мультичейн: Ethereum, Polygon, Base, Arbitrum, Optimism, BSC та інші

Налаштування через Collab.Land Command Center

Collab.Land має веб-інтерфейс на cc.collab.land для управління Token Access Rules (TAR):

Крок 1: Запросити бота в Discord сервер. Надати права управління ролями.

Крок 2: У Command Center створити нове правило:

  • Тип: ERC-20 / ERC-721 / ERC-1155
  • Мережа: виберіть мережу
  • Адреса контракту: адреса токена/NFT
  • Мінімальний баланс: кількість потрібна для ролі
  • Discord роль: яку роль присвоїти

Крок 3: Користувачі йдуть в #collabland-join й натискають "Let's Go".

Для ERC-721 з trait-based умовами (наприклад, NFT з атрибутом "Gold member") — використовуйте Collab.Land API або правило SYNTHETIC токена.

Користувацька інтеграція через API

Для нестандартних умов (баланси на кількох гаманцях, застейковані токени, LP позиції) використовуйте Collab.Land Miniapp або користувацький API.

// Webhook для користувацької верифікації
interface CollabLandWebhook {
  action: "CHECK_ROLES";
  payload: {
    address: string;    // гаманець користувача
    discordId: string;
    guildId: string;
  };
}

interface RolesResponse {
  roles: string[];  // Discord role IDs для присвоєння
}

// Express endpoint
app.post("/collab-land/check-roles", async (req, res) => {
  const { payload } = req.body as CollabLandWebhook;

  // Користувацька логіка: перевірте застейкований баланс, LP позиції, тощо
  const stakedBalance = await getStakedBalance(payload.address);
  const lpBalance = await getLPBalance(payload.address);

  const roles: string[] = [];
  if (stakedBalance >= 1000e18) roles.push(DISCORD_ROLE_STAKER);
  if (lpBalance >= 100e18) roles.push(DISCORD_ROLE_LP_PROVIDER);

  res.json({ roles });
});

Підтримка застейкованих та заблокованих токенів

Стандартна проблема: користувач застейковує токени й втрачає роль, тому що баланс ERC-20 стає 0. Рішення:

Варіант 1 — Токен квитанції стейкінгу: мінтинг видає квитанцію ERC-20 (stTOKEN). Collab.Land перевіряє баланс квитанції — стейкер зберігає роль.

Варіант 2 — Користувацький Miniapp: Collab.Land Miniapp дозволяє написати функцію TypeScript, що перевіряє будь-який on-chain стан — баланс контракту стейкінгу, позиції Uniswap V3 NFT тощо.

// Collab.Land Miniapp — користувацька перевірка
import { TokenBalanceRule } from "@collabland/discord";

export async function checkBalance(
  address: string,
  chainId: number
): Promise<bigint> {
  // Сума нативного + застейкованого балансу
  const stakingContract = getContract(STAKING_ADDRESS, chainId);
  const [walletBalance, stakedBalance] = await Promise.all([
    token.balanceOf(address),
    stakingContract.stakedBalanceOf(address)
  ]);
  return walletBalance + stakedBalance;
}

Collab.Land — зрілий інструмент з підтримкою більшості сценаріїв гейтингу токенів без побудови власної інфраструктури. Користувацький API має сенс тільки для спеціальної логіки типу агрегації мульти-гаманців або складних позицій DeFi.