Налаштування аналітики блокчейн-проекту (DefiLlama)

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

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

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

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

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

Настройка аналітики блокчейн-проекту (DefiLlama)

DefiLlama — основний агрегатор TVL (Total Value Locked) у DeFi. Протокол без листингу на DefiLlama фактично невидимий для інституціональних інвесторів та аналітиків, які використовують платформу як primary source даних. Потрапити туди — не маркетинг, а технічна задача: написати адаптер на TypeScript, що уміє розраховувати TVL вашого протоколу у будь-який історичний момент.

Як влаштовані адаптери DefiLlama

Репозиторій DefiLlama/DefiLlama-Adapters приймає pull requests. Кожен адаптер — TypeScript-модуль, який експортує функцію tvl(), що приймає параметри ланцюга та блока, та повертає об'єкт з токенами та їхніми кількостями.

// Упрощена структура адаптера
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 },
}

DefiLlama періодично викликає цю функцію, підставляючи номер блока — адаптер повинен коректно працювати для будь-якого історичного блока, не тільки поточного.

Типові складності при написанні адаптера

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

Якщо протокол використовує factory-паттерн (як Uniswap: один factory створює тисячі пар), адаптер не може hardcodити адреси. Потрібно отримати список всіх створених контрактів з подій або через getAllPairs() у factory, потім агрегувати TVL по кожному.

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] })),
})

api.multiCall батчить вызови через Multicall3 — сотні контрактів за один RPC-запит. Без батчингу factory з 10,000 пар нереально проіндексувати.

Подвійний облік TVL

Якщо протокол використовує Aave або Compound під капотом — токени у цих протоколах вже враховані у їхньому TVL. Додати їх ж у свій адаптер — подвійний облік, який DefiLlama помічає як помилку та знижує. Потрібно або рахувати тільки нативні позиції, або явно вказати doublecounted: true у конфігу.

Верифікація даних

Після мерджу PR DefiLlama може займати кілька днів на перевірку коректності даних. Алерти виникають якщо TVL стрибає на ±50% між блоками без пояснення — значить адаптер некоректно обробляє якийсь edge case (наприклад, балансы до/після ініціалізації пулу).

Метрики крім TVL

Паралельно з листингом на DefiLlama настроюємо субграф на The Graph для детальнішої аналітики: обсяг торгів, кількість унікальних користувачів, історія транзакцій. Субграф — основа для власного дашборду протоколу та для сторонніх аналітичних платформ (Dune Analytics працює окремо, через прямі запити до ноди).

Для Dune — написання SQL-запитів по decoded даним транзакцій. DefiLlama та Dune доповнюють один одного: перший — для агрегованого TVL, другий — для детального on-chain аналізу.

Орієнтири за часом

Написання та мердж адаптера для однієї мережі — 1-2 дні технічної роботи плюс 2-7 днів на ревью від DefiLlama. Мультичейн адаптер з factory-поддержкою — 2-3 дні розробки. Настройка субграфу паралельно — додає 2-4 дні.

Вартість розраховується індивідуально.