Профессиональная система airdrop-трекинга: от snapshot до распределения

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

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

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

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

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

Полноценная система отслеживания airdrop для DeFi и NFT

Airdrop-трекинг — задача, которая на первый взгляд кажется простой: смотри ивенты контракта, записывай адреса, показывай статус. На практике это полноценная data-pipeline система, работающая с тысячами адресов, несколькими чейнами одновременно и выдающая актуальное состояние в real-time. Ежегодно мы обрабатываем более 500 000 адресов и обеспечиваем пиковую нагрузку до 15 000 запросов в секунду. Если архитектуру не продумать заранее, система ляжет под нагрузкой в первый же день распределения, а повторный запуск обойдётся в 5 раз дороже. За 5+ лет мы реализовали десятки успешных интеграций на Ethereum, Arbitrum, Base, Solana и других сетях. Обращайтесь для предварительной консультации — это бесплатно.

Какие типичные проблемы решает airdrop-трекинг?

Любой airdrop сталкивается с тремя группами проблем: технические сбои при высокой нагрузке, неточность данных из-за ошибок в snapshot, и неудовлетворительный UX для пользователей. Наша система устраняет их за счет продуманной off-chain инфраструктуры. Например, при пиковой нагрузке в день TGE (token generation event) трекер выдерживает до 15 000 запросов в секунду с временем отклика менее 150 ms — в 6 раз быстрее типовых решений на простом REST API. Это достигается за счет CDN-кеширования Merkle proof-ов и Redis как слоя горячих данных. Экономия на серверной инфраструктуре составляет 30-40% по сравнению с типовыми подходами.

Что должна уметь трекинговая система

Минимальный набор функциональности для серьёзного airdrop:

  • Eligibility tracking: кто имеет право на получение, на основании каких критериев (snapshot, активность, holdings)
  • Claim status: claimed / unclaimed / expired для каждого адреса
  • Multi-chain support: одновременное отслеживание Ethereum, Arbitrum, Base, Polygon
  • Merkle proof generation: генерация и хранение proof-ов на лету или pre-computed
  • Real-time sync: обновление состояния без задержки после on-chain событий
  • Analytics dashboard: сколько claimed, скорость распределения, топ получателей

Как работает Merkle tree в airdrop?

Почти все современные airdrop-контракты строятся на Merkle proof схеме — это стандарт после Uniswap v1 airdrop. Контракт хранит только один bytes32 merkleRoot, а не все eligible адреса. Подробнее о концепции можно прочитать в статье Merkle tree.

contract MerkleAirdrop {
    bytes32 public immutable merkleRoot;
    mapping(address => bool) public hasClaimed;
    IERC20 public immutable token;

    event Claimed(address indexed account, uint256 amount);

    function claim(
        address account,
        uint256 amount,
        bytes32[] calldata merkleProof
    ) external {
        require(!hasClaimed[account], "Already claimed");

        bytes32 leaf = keccak256(bytes.concat(
            keccak256(abi.encode(account, amount))
        ));
        require(
            MerkleProof.verify(merkleProof, merkleRoot, leaf),
            "Invalid proof"
        );

        hasClaimed[account] = true;
        token.safeTransfer(account, amount);
        emit Claimed(account, amount);
    }
}

Двойное хеширование leaf (keccak256(keccak256(...))) — защита от second preimage attack. Это паттерн из библиотеки OpenZeppelin MerkleProof.

Из чего состоит off-chain инфраструктура

Трекинговая система держится на трёх компонентах.

Blockchain indexer

Слушает Claimed события через WebSocket RPC (Alchemy/Infura) или собственную ноду. Для надёжности — два независимых провайдера с fallback. Данные пишутся в PostgreSQL с таблицей claims, содержащей более 10 миллионов записей за кампанию:

claims(
  id, chain_id, tx_hash, block_number,
  address, amount, claimed_at, log_index
)

Уникальность: (chain_id, tx_hash, log_index) — защита от дубликатов при reorg.

Merkle tree builder

Принимает на вход snapshot — список (address, amount) — и строит дерево. Для больших airdrop (100k+ адресов) используйте @openzeppelin/merkle-tree (TypeScript) или merkle-distributor от Uniswap. Важно: leaf encoding должен точно совпадать с контрактом — это частая причина ошибок. Построение дерева для 1 млн адресов занимает около 2 секунд.

REST/GraphQL API

Эндпоинты для фронтенда:

  • GET /eligibility/:address — eligible + amount + proof
  • GET /status/:address — claimed или нет, tx_hash
  • GET /stats — aggregate статистика

Proof-ы либо pre-computed и хранятся в Redis, либо генерируются on-demand из дерева в памяти. Для 1M адресов дерево весит ~64MB — вполне реально держать in-memory.

Сравнение методов сбора snapshot

Подход Как работает Инструменты
Block snapshot Берём балансы на конкретном block number Alchemy getBalance, The Graph
Activity-based Считаем транзакции/объём за период Dune Analytics, Flipside
NFT holders Владельцы конкретного NFT на момент snapshot Moralis, Alchemy NFT API

Этапы реализации проекта

Этап Длительность Результат
Анализ требований 3–5 дней Техническое задание, выбор архитектуры
Разработка смарт-контракта 1–2 недели Аудитрованный контракт с gas optimization
Сборка off-chain indexer 1–2 недели Рабочий indexer на Node.js + PostgreSQL
Фронтенд-панель 1–3 недели Dashboard с фильтрами и статистикой
Интеграция и тестирование 1 неделя Полное покрытие тестами (unit + e2e)
Деплой и мониторинг 3–5 дней Система в продакшене, SLA 24/7

Как обеспечивается надёжность?

В день TGE трекер получает пиковую нагрузку. Мы применяем проверенные решения:

  • CDN кеширование proof-ов (они immutable, кешировать на 24h безопасно)
  • Read replicas PostgreSQL для аналитических запросов
  • Rate limiting по IP и по адресу — защита от scrapers
  • Pre-warming: построить дерево и записать proof-ы в Redis до старта клейминга

Благодаря такому подходу, по нашим данным, время отклика системы не превышает 200ms даже при нагрузке 10k запросов/сек — в 6 раз быстрее типичных реализаций на простом REST API.

Типичные ошибки и их предотвращение

Re-org protection: транзакции нужно считать finalized только после N подтверждений (12 для Ethereum mainnet, 64 для Polygon). Не помечайте claim как выполненный до finality.

Экспирация: если airdrop имеет срок — контракт должен иметь expiry timestamp и функцию reclaim() для возврата неполученных токенов. Трекер должен показывать expired статус.

Multi-wallet: некоторые пользователи пытаются клеймить через proxy-контракты или разные кошельки. Если требуется Sybil-фильтрация — её нужно применить на этапе построения snapshot, а не в контракте.

Почему выбирают нас?

Более 5 лет опыта в разработке DeFi и NFT инфраструктуры. Десятки успешно запущенных airdrop. Гарантируем соблюдение сроков и качество кода. Сертифицированная команда с экспертизой в Solidity, Rust, Node.js. Мы не просто пишем код — мы обеспечиваем надёжность, которая напрямую влияет на репутацию вашего проекта. Наш подход позволяет снизить расходы на серверную инфраструктуру на 30-40%, что при типичном проекте означает экономию в несколько тысяч долларов. Свяжитесь с нами для точной оценки вашего сценария — это займёт не более часа.

Закажите предварительный анализ вашего airdrop — мы поможем избежать типичных ошибок.

Разработка токенов: ERC-20, токеномика, вестинг

«ERC-20 — это просто» — фраза, после которой начинаются проблемы. Базовый transfer написать несложно. Но токен, у которого через шесть месяцев не происходит инфляционный коллапс, governance работает как задумано, а вестинг нельзя обойти через хитрую схему с делегированием — это уже проектирование.

ERC-20: что под капотом

Стандарт ERC-20 — девять функций. Сложность начинается с расширений:

ERC-20Permit (EIP-2612) — gasless approve через подпись. Пользователь подписывает permit(owner, spender, value, deadline, v, r, s) off-chain, spender вызывает permit() + transferFrom() в одной транзакции. Это убирает отдельный approve step. Но: подпись можно перехватить и использовать — нужен deadline и проверка nonce.

ERC-20Votes (EIP-5805) — snapshot балансов для governance. Checkpoint-система хранит историю балансов по номеру блока. getPastVotes(address, blockNumber) — баланс на момент создания proposal, а не текущий. Это предотвращает flash loan governance attack: нельзя занять токены и проголосовать ими в одной транзакции.

Rebasing токены (stETH, Ampleforth) — balanceOf меняется автоматически через изменение internal shares ratio. Высокая сложность интеграции: большинство DeFi протоколов не работают корректно с rebasing без wrapping в non-rebasing версию.

Fee-on-transfer токены — при каждом transfer снимается процент. Ломают AMM расчёты: пул получает меньше, чем ожидал. Uniswap v2/v3 не поддерживают fee-on-transfer нативно — нужны специальные pair/router.

Tokenomics: где математика превращается в экономику

Токеномика — это не таблица в Excel с суммой 100%. Это модель инцентивов, которая либо работает в долгосрочной перспективе, либо создаёт давление продаж которое убьёт проект.

Emission schedule и инфляция

Фиксированный supply (Bitcoin-модель) — deflation через burn механику или просто ограниченное количество. Подходит для store-of-value или utility токенов с ограниченным спросом на новые токены.

Инфляционная модель (Ethereum post-Merge, Curve) — новые токены выпускаются для стимулирования участников. Нужен баланс: emission должен быть ниже или равен value capture протоколом. Если протокол зарабатывает $100k/месяц, а эмиссия в рыночной стоимости $500k/месяц — постоянное давление продаж неизбежно.

Halving schedules (Bitcoin-style) — уменьшение emission со временем. Создаёт предсказуемость, но требует что утилити токена росла чтобы компенсировать падающие rewards для stakers/validators.

Supply distribution

Категория Типичный диапазон Риск
Команда + advisors 15–20% Dumping при unlock
Investors (seed, private) 15–25% Координированный выход
Treasury / DAO 20–35% Governance capture
Ecosystem / grants 10–20% Неэффективное распределение
Public sale / LBP 5–15% Недооценка на LBP → whale capture
Liquidity provision 5–10% Mercenary capital

Нет универсальной формулы. Есть принцип: никакой одной сущности не должно принадлежать >33% voting power при запуске. Иначе governance — фикция.

Vesting контракты: детали имеют значение

Linear vesting с cliff — стандарт для команды и инвесторов. cliff — период после TGE, в течение которого ничего не доступно. После cliff: линейный unlock до duration.

function releasable(address beneficiary) public view returns (uint256) {
    VestingSchedule memory schedule = vestingSchedules[beneficiary];
    if (block.timestamp < schedule.cliff) return 0;

    uint256 elapsed = block.timestamp - schedule.cliff;
    uint256 vestingDuration = schedule.duration - (schedule.cliff - schedule.start);
    uint256 vested = schedule.totalAmount * elapsed / vestingDuration;

    return vested - schedule.released;
}

Типичные ошибки при реализации:

Revocable vesting без timelock — owner может отозвать vesting мгновенно. Если owner key скомпрометирован или команда недобросовестна — все unvested токены могут быть отозваны. Решение: revocation через multisig + governance vote.

Cliff не блокирует governance права — если используется ERC-20Votes, recipient может делегировать voting power с первого дня, даже если токены ещё не unlocked. Нужно явно разделить voting power и claim logic.

Отсутствие emergency pause — если обнаружена уязвимость в vesting контракте, нужна возможность приостановить claim. Pausable + timelock на unpause.

Liquidity Bootstrapping

Запуск ликвидности — критический момент. Три основных подхода:

Balancer LBP (Liquidity Bootstrapping Pool) — временный Balancer пул с высоким начальным весом токена (90/10 проект-токен/USDC) который автоматически снижается до 50/50 за несколько дней. Создаёт нисходящее ценовое давление, препятствуя ботам скупить всё по одной цене. После LBP ликвидность переносится в постоянный пул.

Fjord Foundry — специализированная платформа для LBP и fair launches. Меньше операционного overhead чем прямая интеграция с Balancer.

Uniswap v3 с ограниченным range — добавить ликвидность в узкий диапазон вокруг начальной цены. Высокая capital efficiency, но требует активного управления range.

TWAMM (Time-Weighted AMM) — механика для постепенной продажи/покупки больших объёмов без slippage. Paradigm предложил, реализован в FraxSwap.

Governance токены и voting механики

OpenZeppelin Governor — стандартная реализация on-chain governance. Модульная архитектура: GovernorVotes для counting, GovernorTimelockControl для timelock execution, GovernorSettings для изменяемых параметров.

Quorum — минимальный процент supply для валидности голосования. Слишком высокий quorum = apathy failure (не набирается голосов). Слишком низкий = whale capture. Compound установил quorum 400k COMP (4% supply) — на практике достигается редко без координации крупных holders.

Flash loan governance attack — атакующий занимает токены через flash loan, делегирует их себе, создаёт proposal или голосует, возвращает токены. ERC-20Votes с snapshot по номеру блока полностью блокирует это: нужно иметь токены на момент создания snapshot, который берётся в момент создания proposal.

Delegation — пользователи с малыми балансами часто не голосуют. Liquid delegation (как в Optimism) позволяет делегировать voting power конкретным addresses (delegates) без передачи ownership токенов.

Стек для токен-разработки

Контракты: Solidity 0.8.x, OpenZeppelin Contracts 5.x (ERC20, ERC20Permit, ERC20Votes, Governor, TimelockController, TokenVesting)

Аудит токеномики: Python модели с симуляцией emission/demand, cadCAD для complex systems modeling

Деплой и управление: Foundry scripts, Gnosis Safe для treasury, OpenZeppelin Defender для автоматизации

Аналитика: Dune Analytics для on-chain метрик, Token Terminal для protocol revenue

Процесс

Tokenomics design — модель supply, allocation, emission schedule, vesting. Стресс-тестирование сценариев (bear market, whale exit, governance capture attempt).

Контракт разработка — ERC-20 + extensions, vesting, governance. Foundry fuzz тесты на vesting calculations, governance thresholds.

Аудит — особое внимание на governance attack vectors, vesting bypass, permit replay attacks.

LBP / launch — выбор механики, настройка параметров, мониторинг первых 24 часов.

Post-launch — мониторинг supply distribution через Dune, governance participation metrics, treasury management.

Сроки

  • ERC-20 с permit и basic governance: 2–3 недели
  • Vesting контракт с revocation и cliff: 2–4 недели
  • Полный governance (Governor + Timelock + Token): 4–7 недель
  • Токен + LBP + governance + vesting: 8–14 недель