Интеграция с 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 запросов/день — считать экономику: собственная нода окупается быстрее, чем кажется.