Інтеграція з Chainlink (оракули)

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

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

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

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

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

Інтеграція Chainlink (Оракули)

Chainlink — de facto стандарт цінових оракулів у DeFi. $100B+ забезпечено Chainlink price feeds в Aave, Compound, Synthetix та сотнях інших протоколів. Інтеграція Chainlink — обов'язковий навик для будь-якого DeFi розробника.

Price Feeds: базова інтеграція

Chainlink Data Feeds — агреговані ціни від мережі незалежних node operators.

import "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol";

contract PriceConsumer {
    AggregatorV3Interface internal priceFeed;
    
    constructor() {
        // ETH/USD на Ethereum mainnet
        priceFeed = AggregatorV3Interface(0x5f4eC3Df9cbd43714FE2740f5E3616155c5b8419);
    }
    
    function getLatestPrice() public view returns (int256) {
        (
            uint80 roundId,
            int256 answer,
            uint256 startedAt,
            uint256 updatedAt,
            uint80 answeredInRound
        ) = priceFeed.latestRoundData();
        
        // Перевірити staleness
        require(updatedAt >= block.timestamp - 3600, "Stale price");
        require(answer > 0, "Invalid price");
        
        return answer; // 8 decimals для USD feeds
    }
}

Перевірка staleness — обов'язкова: якщо updatedAt надто давно — оракул не оновлювався. Краще revert на стейл цені, ніж використовувати застарілі дані.

Decimals та нормалізація

Різні feeds мають різні decimals:

  • ETH/USD: 8 decimals (ціна × 10^8)
  • ETH/BTC: 8 decimals
  • USDC/ETH: 18 decimals

Завжди читайте priceFeed.decimals() та нормалізуйте.

Chainlink VRF (Verifiable Random Function)

Для програм, що вимагають верифіковану випадковість: NFT mint, лотереї, ігри.

Chainlink Automation

Автоматизація on-chain завдань без централізованого сервісу: децентралізована мережа keepers викликає performUpkeep коли умова виконана.

Chainlink Automation — заміна cron-ботам. Децентралізована мережа keeper викликає функцію коли умова виконана.

Інтеграція базових price feeds — кілька годин. VRF та Automation — 1-3 дні для production-ready реалізації.