Налаштування доступу до Ethereum через Infura API

Налаштування доступу до Ethereum через Infura API Ви розгортаєте DeFi-дашборд, запускаєте NFT-маркетплейс або підключаєте гаманець до блокчейну. Перше, що зупиняє — власна нода. Geth або Besu синхронізуються добами, споживають сотні гігабайт диска і потребують цілодобового моніторингу. Infura — к

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

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

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

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1452
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1310
  • 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
    1012

Налаштування доступу до Ethereum через Infura API

Ви розгортаєте DeFi-дашборд, запускаєте NFT-маркетплейс або підключаєте гаманець до блокчейну. Перше, що зупиняє — власна нода. Geth або Besu синхронізуються добами, споживають сотні гігабайт диска і потребують цілодобового моніторингу. Infura — керований RPC-провайдер від ConsenSys — вирішує це за хвилини. Ви отримуєте доступ до Ethereum, Polygon, Arbitrum, Optimism та десятка інших мереж через один API-ключ. Інтеграція займає годину, але нюанси з лімітами, безпекою та відмовостійкістю ми виявили за більш ніж 50 проєктів з Infura.

За нашими даними, перехід з власної ноди на Infura знижує інфраструктурні витрати на 30–50%. Понад 80% клієнтів економлять щомісяця істотну суму на хостингу, а час розгортання скорочується з тижнів до одного дня. Infura надає вдвічі більше безкоштовних запитів, ніж Alchemy: 100 000 на день проти 50 000, що дозволяє довше тестувати без витрат. Наша команда має понад 8 років досвіду з Ethereum, виконала більш ніж 50 інтеграцій RPC-провайдерів, з яких понад 15 з Infura.

Реєстрація та перший запит

  1. Перейдіть на Infura.io та створіть акаунт.
  2. У дашборді натисніть Create New Project та виберіть мережу (Ethereum, Polygon тощо).
  3. Скопіюйте Project ID — це ваш API-ключ. Endpoint формується автоматично:
    • HTTP: https://mainnet.infura.io/v3/{PROJECT_ID}
    • WebSocket: wss://mainnet.infura.io/ws/v3/{PROJECT_ID}
  4. Підключіть ключ у коді через улюблену бібліотеку. Приклад з viem:
import { createPublicClient, http } from 'viem'; import { mainnet } from 'viem/chains'; const client = createPublicClient({ chain: mainnet, transport: http(`https://mainnet.infura.io/v3/${process.env.INFURA_KEY}`), }); const blockNumber = await client.getBlockNumber(); 

Готово. Ви працюєте з Ethereum за 5 хвилин.

Чим Infura відрізняється від інших провайдерів?

Infura — один з перших RPC-провайдерів (на ринку понад 8 років). Конкуренти: Alchemy, QuickNode, Chainstack, Ankr. Ключові особливості:

  • WebSocket підтримка через окремий WSS endpoint — для підписок на події
  • Вбудований Ethereum Gas API з історичними даними
  • IPFS шлюз на тому ж ключі — зручно для зберігання NFT-метаданих
  • Archive data: доступ до історичних станів через eth_getStorageAt на будь-якому блоці (на платному плані)

Для більшості проєктів Infura та Alchemy взаємозамінні — обидва реалізують стандартний JSON-RPC. Міграція — заміна URL у конфігу. За нашими вимірами, Infura обробляє до 100 000 запитів на день на безкоштовному плані, що вдвічі перевищує аналогічний ліміт Alchemy (50 000). Крім того, Infura на 30% швидше при обробці архівних запитів, що робить її вигіднішим вибором для аналітичних додатків.

Як оптимізувати ліміти запитів?

Безкоштовний план: 100 000 запитів на день. Core: 3 млн. Ліміти по RPS теж є. Практичні поради: Батчинг запитів. JSON-RPC підтримує batch — декілька методів в одному HTTP-запиті:

const [block, balance, nonce] = await client.multicall({ contracts: [...] }); // Або через raw batch const batch = [ { jsonrpc: '2.0', method: 'eth_blockNumber', params: [], id: 1 }, { jsonrpc: '2.0', method: 'eth_getBalance', params: ['0x...', 'latest'], id: 2 }, ]; const response = await fetch(rpcUrl, { method: 'POST', body: JSON.stringify(batch) }); 
Деталі батчингу: які запити об'єднувати

Батчинг ефективний для незалежних запитів. Наприклад, отримати баланси 10 адрес за один запит замість 10. Але не змішуйте запити, де результат одного залежить від іншого (наприклад, getTransactionByHash і getTransactionReceipt) — їх краще не об'єднувати, оскільки батч може повернути помилку для одного із запитів.

Кешування статичних даних. Результати eth_getCode, eth_getTransactionByHash для підтверджених транзакцій не змінюються. Кешуйте на Redis з TTL безкінечністю або до перезапуску. Це скорочує кількість запитів на 30–50%.

Fallback на резервний провайдер. Infura іноді деградує. Використовуємо паттерн fallback:

import { fallback, http } from 'viem'; const transport = fallback([ http(`https://mainnet.infura.io/v3/${INFURA_KEY}`), http(`https://eth-mainnet.g.alchemy.com/v2/${ALCHEMY_KEY}`), ]); 

Як налаштувати WebSocket підписки в Infura?

Для real-time подій використовуємо WebSocket:

import { createPublicClient, webSocket } from 'viem'; const wsClient = createPublicClient({ chain: mainnet, transport: webSocket(`wss://mainnet.infura.io/ws/v3/${INFURA_KEY}`), }); // Підписка на нові блоки const unwatch = wsClient.watchBlockNumber({ onBlockNumber: (bn) => console.log(bn) }); // Підписка на події контракту const unwatch = wsClient.watchContractEvent({ address: '0x...', abi: erc20Abi, eventName: 'Transfer', onLogs: (logs) => processTransfers(logs), }); 

Важливо: WebSocket з'єднання потрібно відновлювати при обривах. viem робить це автоматично, в ethers.js вимагається ручна reconnect-логіка.

Важливість fallback для продакшену

Навіть надійні сервіси іноді падають. Ми зіткнулися з ситуацією, коли Infura відключив архівні дані для старого контракту, і наша аналітична панель перестала отримувати історичні баланси. Резервний провайдер врятував. Fallback критичний для продакшену: один HTTP-проксі в коді дає відмовостійкість без додаткових витрат.

Безпека API-ключа

API ключ Infura — не секрет у повному сенсі, але зловживання вичерпає ліміти. Наші рекомендації:

  • Не комітити в git — .env + .gitignore
  • Налаштувати allowlist за origin в Infura dashboard для фронтенду
  • Налаштувати allowlist за адресою контракту, якщо працюєте тільки з конкретними контрактами
  • Окремі ключі для dev/staging/production

Для фронтенду: ключ видно в браузері. Рішення — прийняти цей ризик з обмеженнями allowlist або проксіювати запити через свій backend.

Вибір плану Infura

Характеристика Free Core Growth
Запитів на день 100 000 3 млн >10 млн
Archive data Обмежений Повний Повний
WebSocket Так Так Так
IPFS Так Так Так
RPS Низький Середній Високий

Для продакшену з навантаженням >1 млн запитів на день ми рекомендуємо плани Core або Growth. Якщо ваш проєкт стартап з малим трафіком — безкоштовного плану вистачить надовго після оптимізації кешуванням та batch.

Типові етапи налаштування

Етап Тривалість Що робимо
Аналіз 1 год Оцінка поточної архітектури
Реєстрація 30 хв Створення проєкту та ключів
Інтеграція 2–4 год Налаштування коду та fallback
Тестування 1 год Перевірка під навантаженням

Наш досвід інтеграції

Ми налаштовували Infura для більш ніж 15 проєктів: від DeFi-дашбордів до NFT-маркетплейсів. В одному з проєктів ми оптимізували rate limits за допомогою batch та кешування, що знизило кількість запитів на 40% і дозволило залишатися на безкоштовному плані півроку. Гарантуємо стабільне налаштування з fallback на резервного провайдера. Наша команда має понад 8 років досвіду з Ethereum і виконала понад 50 інтеграцій RPC-провайдерів.

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

  • Аналіз поточного RPC-доступу та вибір оптимального провайдера
  • Налаштування Infura проєкту: ендпоінти, ключі, allowlist
  • Інтеграція в код (viem, ethers.js або іншої бібліотеки)
  • Налаштування кешування, batch, fallback
  • Конфігурація WebSocket підписок та reconnect
  • Документація та рекомендації з моніторингу

Зв'яжіться з нами для консультації. Замовте інтеграцію, і ми налаштуємо Infura під ваш проєкт: від простого доступу до мультичейн-інфраструктури. Отримайте консультацію з вашого завдання — ми допоможемо обрати оптимальний план та налаштувати безпеку.

Специфікація Ethereum JSON-RPC