Налаштування аналітики DeFi (DefiLlama): TVL, субграф, Dune

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

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

Часті запитання

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

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1450
  • 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 години. Ми також пропонуємо експрес-аудит поточного адаптера з виявленням помилок за один робочий день.