Інтеграція з Ankr API

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

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

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

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

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

Інтеграція з Ankr API

Більшість Web3-проектів починають із публічних RPC-ендпоінтів — і швидко упиваються в rate limits, нестабільність і відсутність архівних даних. Ankr вирішує кілька завдань одразу: це мультичейн RPC-провайдер з підтримкою 50+ мереж, архівними нодами та набором спеціалізованих API поверх сирих RPC-вызовів.

Що конкретно надає Ankr

Premium RPC — стандартні JSON-RPC ендпоінти для EVM і не-EVM мереж. Порівняно з публічними: гарантовані rate limits, SLA uptime, підтримка архівних методів (eth_getBalance на будь-якому історичному блоці).

Ankr Advanced API — висо­кого­рівневі методи, яких нема в стандартному JSON-RPC:

  • ankr_getAccountBalance — мультичейн баланс акаунту по всіх токенах одразу
  • ankr_getNFTsByOwner — всі NFT власника по всіх мережах
  • ankr_getTransactionsByAddress — історія транзакцій із пагінацією
  • ankr_getTokenHolders — власники токена

Без цих методів той же результат потребує десятків RPC-вызовів і власного індексування.

Практика інтеграції

Ankr сумісний зі стандартними Web3-бібліотеками — достатньо замінити RPC URL:

import { createPublicClient, http } from "viem";
import { mainnet, polygon, bsc } from "viem/chains";

const ankrKey = process.env.ANKR_API_KEY;

const ethClient = createPublicClient({
  chain: mainnet,
  transport: http(`https://rpc.ankr.com/eth/${ankrKey}`),
});

// Advanced API через окремий SDK
import AnkrProvider from "@ankr.com/ankr.js";
const ankr = new AnkrProvider(`https://rpc.ankr.com/multichain/${ankrKey}`);

// Отримати всі токен-балансу адреси по всіх мережах одним запитом
const { assets } = await ankr.getAccountBalance({
  walletAddress: "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
  blockchain: ["eth", "polygon", "bsc", "arbitrum"],
});

Обробка помилок і retry

Ankr повертає стандартні JSON-RPC помилки плюс специфічні коди. Обов'язковий паттерн:

async function withRetry<T>(
  fn: () => Promise<T>,
  maxAttempts = 3,
  baseDelayMs = 500
): Promise<T> {
  for (let attempt = 0; attempt < maxAttempts; attempt++) {
    try {
      return await fn();
    } catch (err: any) {
      const isRateLimit = err?.code === 429 || err?.message?.includes("rate limit");
      const isRetryable = isRateLimit || err?.code === -32603; // internal error
      if (!isRetryable || attempt === maxAttempts - 1) throw err;
      await delay(baseDelayMs * 2 ** attempt); // exponential backoff
    }
  }
  throw new Error("unreachable");
}

Мультичейн балансу у продакшені

Advanced API особливо корисний для portfolio-трекерів і гаманців. Без нього "показати всі токени користувача" потребує: ітерувати по всіх мережах, по всіх потенційно релевантних токенах, робити balanceOf вызови — сотні запитів. З ankr_getAccountBalance — один запит, відповідь включає ціни у USD.

Обмеження, які потрібно знати

Rate limits залежать від плану. Free tier: 30 req/s. Premium: 1500+ req/s. При високому навантаженню — комбінувати Ankr з власними нодами або іншими провайдерами.

Advanced API не покриває всі мережі. Стандартний RPC є для 50+ мереж, Advanced API — для ~20 основних. Перед плануванням проекту — перевірити актуальний список у документації.

Дані Advanced API не real-time. Індексер Ankr оновлюється з невеликою затримкою (~30–60 сек). Для критичних фінансових даних на останньому блоці — використовувати прямий RPC, не Advanced API.

Коли вибирати Ankr

Ankr виправданий якщо: потрібен швидкий старт з мультичейн підтримкою, потрібні архівні дані без своєї ноди, потрібні висо­кого­рівневі методи (балансу, NFT, історія транзакцій) без написання власного індексера. При навантаженні > 1M запитів/день — розраховувати економіку: власна нода окупується швидше, ніж здається.