Настройка аналитики блокчейн-проекта (DefiLlama) — TVL, субграф, Dune

TVL — ключевая метрика для любого DeFi-протокола. По данным DefiLlama, проекты без листинга теряют до 70% видимости для институциональных инвесторов. Причина не в сложности, а в типичных ошибках адаптера: неправильный учёт factory-пулов, doublecount, неверная обработка historical blocks. Мы разберём

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

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

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

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

TVL — ключевая метрика для любого DeFi-протокола. По данным DefiLlama, проекты без листинга теряют до 70% видимости для институциональных инвесторов. Причина не в сложности, а в типичных ошибках адаптера: неправильный учёт factory-пулов, doublecount, неверная обработка historical blocks. Мы разберём каждую проблему и покажем, как их избежать.

Мы, как блокчейн-инженеры с опытом листинга десятков протоколов, знаем эти проблемы изнутри. Правильный TypeScript-адаптер настраивается за 1-2 дня, но без опыта вы рискуете потратить недели на отладку. Наш подход — модульные тесты на 100+ блоках, использование Multicall3 для батчинга запросов и формальная верификация через Slither. Самостоятельная разработка занимает в 2-3 раза больше времени, чем заказ у нас, а экономия бюджета достигает 30%.

Как устроен адаптер DefiLlama

Каждый протокол в DefiLlama представлен модулем из репозитория DefiLlama/DefiLlama-Adapters. Этот модуль экспортирует функцию tvl(), которая по запросу платформы с параметрами цепочки и блока возвращает текущие балансы в виде {token_address: amount}. DefiLlama периодически дёргает эту функцию для исторических блоков — критично, чтобы адаптер работал корректно не только на свежих, но и на старых данных.

Структура адаптера

async function tvl(api: ChainApi) { const balance = await api.call({ abi: 'erc20:balanceOf', target: tokenAddress, params: [protocolVaultAddress], }) api.add(tokenAddress, balance) } module.exports = { ethereum: { tvl }, arbitrum: { tvl }, } 

Динамические адреса контрактов

Factory-паттерн (как в Uniswap: один factory создаёт тысячи пулов) делает хардкод адресов невозможным. Наш опыт показывает, что без использования api.multiCall индексация 10 000 пар займёт часы и десятки тысяч RPC-запросов. Используем Multicall3 для батчинга — сотня вызовов за один запрос.

const pairsCount = await api.call({ abi: 'uint256:allPairsLength', target: factory }) const pairs = await api.multiCall({ abi: 'function allPairs(uint256) returns (address)', target: factory, calls: Array.from({ length: Number(pairsCount) }, (_, i) => ({ params: [i] })), }) 

Как избежать двойного учёта TVL?

Если ваш протокол задействует Aave или Compound, их токены уже учтены в TVL этих платформ. Добавление тех же активов в адаптер — doublecount, который DefiLlama понижает. Выход — считаем только нативные позиции или явно ставим doublecounted: true в конфиге.

Пример edge case Пул на Curve в Arbitrum при первом добавлении ликвидности отдаёт нулевой баланс для LP-токенов. Адаптер должен проверять, что адрес не равен `0x000...000`, иначе TVL упадёт на 100%.

Верификация и ошибки

После отправки PR DefiLlama проверяет данные. Алерты при скачках TVL ±50% между соседними блоками — признак edge case (балансы до инициализации пула). На этапе тестов запускаем адаптер локально через npx defillama test adapter.js, прогоняем на 50 случайных блоках. Если ошибка не воспроизводится — симулируем через Tenderly.

Какие метрики критичны для DeFi-протокола?

Листинг на DefiLlama — это первый шаг. Параллельно настраиваем субграф на The Graph для отслеживания объёмов торгов, числа уникальных пользователей и истории транзакций. Субграф — фундамент вашего дашборда. Для детального on-chain анализа подключаем Dune с SQL-запросами по decoded данным — DefiLlama и Dune работают в связке.

Метрика Источник данных
TVL (исторический) DefiLlama адаптер
Объём торгов Субграф The Graph
Активные пользователи Субграф + Dune
Транзакции Dune (SQL)
Инструмент Частота обновления Тип данных Сложность настройки
DefiLlama Каждый блок TVL, supply Низкая (адаптер)
The Graph Реальное время События контрактов Средняя (субграф)
Dune Каждый блок (decoded) Любые SQL Высокая (SQL-запросы)

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

Наша команда выполнила листинг для 12+ DeFi-протоколов на Ethereum, Arbitrum, Polygon и BNB Chain. Среднее время от запроса до отображения на DefiLlama — 5 рабочих дней. Мы гарантируем корректность исторических данных и прозрачность метрик. Используем формальную верификацию через Slither и Echidna для контрактов — это снижает риск реджекта PR на 80%.

Что входит в нашу работу

  • Разработка и тестирование адаптера TypeScript под все сети вашего протокола.
  • Исправление edge case (factory, doublecount, reinitialization).
  • Отправка PR и прохождение ревью в DefiLlama.
  • Настройка субграфа и развёртывание на hosted service.
  • Подготовка SQL-запросов для Dune Analytics.
  • Документация по поддержке и обновлению адаптера.

Как мы работаем

  1. Анализ архитектуры протокола: контракты, сети, factory.
  2. Написание адаптера с модульными тестами.
  3. Локальный прогон на исторических данных (минимум 100 блоков).
  4. Отправка PR и устранение замечаний DefiLlama.
  5. Параллельно развёртывание субграфа.
  6. Передача готовой инфраструктуры: доступы, документация, обучение команды.

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

  • Односетевой адаптер: 1-2 дня разработки + 2-7 дней ревью.
  • Мультичейн с factory: 2-3 дня.
  • Субграф дополнительно: 2-4 дня.

Стоимость рассчитывается индивидуально. Получите консультацию: напишите нам, и мы оценим ваш проект за 24 часа. Мы также предлагаем экспресс-аудит текущего адаптера с выявлением ошибок за один рабочий день.