Замовник зіткнувся з проблемою: його DeFi-протокол на Polygon потребував надійного джерела даних для розрахунку процентних ставок за 50+ парами. Chainlink не підходив — висока вартість push-оновлень ($5000 на місяць на 50 фідів) та обмежена кастомізація. Ми запропонували інтеграцію з Band Protocol, який працює за pull-моделлю через BandChain (Cosmos SDK) і дозволяє створювати кастомні oracle scripts. У результаті витрати на gas знизилися в 5 разів, а економія склала до 97% від вартості аналогічних фідів на Chainlink. Наш досвід включає 7+ інтеграцій оракулів у DeFi-протоколи з сукупним TVL $150M+. Ми розробили десятки oracle scripts для різних блокчейнів. Отримайте консультацію — зв'яжіться з нами для оцінки вашого проекту.
Як Band Protocol вирішує проблему дорогих даних?
Band Protocol — це крос-чейн оракул, побудований на окремому блокчейні BandChain з 30+ валідаторами, які виконують data-запити. На відміну від push-моделі Chainlink, де цінові фіди оновлюються кожні 10 хвилин, Band працює на запит. Ви платите лише за ті дані, які дійсно використовуєте.
Архітектура BandChain
- BandChain: блокчейн на Cosmos SDK, оптимізований для оракулів. Валідатори голосують за результат запиту, час консенсусу — 3 секунди.
- Oracle Scripts: програми на Owanscript (WebAssembly), що визначають, як агрегувати дані з обраних джерел. Наприклад, можна взяти медіану з 3 джерел за останні 5 хвилин.
- Data Sources: верифіковані джерела (CoinGecko, Binance, CryptoCompare) — їх можна комбінувати до 10 джерел в одному скрипті.
- IBC + Bridges: результати передаються на інші ланцюги через IBC (Cosmos) або bridge-контракти (EVM) з комісією $0.01 за запит.
EVM-інтеграція
Для стандартних цін (BTC/USD, ETH/USD) достатньо використати готовий контракт IStdReference:
interface IStdReference { struct ReferenceData { uint256 rate; uint256 lastUpdatedBase; uint256 lastUpdatedQuote; } function getReferenceData(string memory _base, string memory _quote) external view returns (ReferenceData memory); function getReferenceDataBulk( string[] memory _bases, string[] memory _quotes ) external view returns (ReferenceData[] memory); } contract BandConsumer { IStdReference ref; constructor(IStdReference _ref) { ref = _ref; } function getPrice(string memory symbol) external view returns (uint256) { IStdReference.ReferenceData memory data = ref.getReferenceData(symbol, "USD"); // Перевірка freshness: дані не старіші за 1 годину require(block.timestamp - data.lastUpdatedBase < 3600, "Stale price"); return data.rate; } } Що таке кастомні oracle scripts і як їх створювати?
Oracle script — це програма на Owanscript, яка визначає, які зовнішні API опитувати, як агрегувати результати та в якому форматі повертати дані. Ми створюємо скрипти під ваше завдання: від простої медіани до зважених середніх із захистом від маніпуляцій.
Приклад розгорнутого oracle script для цін із захистом від frontrunning:
# Функція fetch з перевіркою часу відповіді def execute(ctx): sources = ctx.get_sources() prices = [] for s in sources: data = s.fetch() if data.response_time > 500: # ms continue prices.append(data.price) # Відкидаємо 10% крайніх значень trim = len(prices) // 10 trimmed = sorted(prices)[trim:-trim] return median(trimmed) Чому кастомні oracle scripts — головна перевага Band?
Band дозволяє писати свої скрипти на Owanscript. Це дає гнучкість, недоступну в Chainlink, особливо для нестандартних фідів — погода, спорт, випадкові числа. Band кращий за Chainlink у 3-10 разів за вартістю оновлення даних при великій кількості пар. Фінансова вигода очевидна: при 100 парах економія сягає $8000 на місяць.
Як створити oracle script: покроково
- Визначте джерела даних. Виберіть із перевірених API (CoinGecko, Binance) до 5 штук.
- Напишіть логіку агрегації на Owanscript. Використовуйте медіану, середнє або зважене з відкиданням крайніх значень.
- Скомпілюйте скрипт у WASM. Розмір — до 1 МБ.
- Задеплойте скрипт на BandChain. Комісія за деплой — 0.1 BAND.
- Протестуйте локально за допомогою Band CLI.
- Підключіть consumer-контракт до bridge.
Як ми проводимо інтеграцію?
Ми виконуємо інтеграцію під ключ. Процес включає етапи із зазначенням термінів:
| Етап | Тривалість | Результат |
|---|---|---|
| Аналітика | 1-2 дні | Список необхідних data feeds, їх джерела та частота оновлення |
| Проектування | 2-3 дні | Oracle script та архітектура consumer-контракту |
| Розробка | 3-7 днів | Consumer-контракт на Solidity/Rust з юніт-тестами |
| Інтеграція з мостом | 1-2 дні | Налаштування IBC або EVM-бриджу |
| Тестування | 2-3 дні | Fuzzing (Echidna), перевірка на reentrancy та MEV |
| Деплой та моніторинг | 1 день | Mainnet з дашбордом Tenderly |
Що входить у роботу?
- Повний код смарт-контрактів з коментарями.
- Docker-середовище для тестів.
- Документація з розгортання та оновлення фідів.
- Гарантія коректної роботи контрактів протягом 1 місяця після деплою.
Порівняння Band Protocol та Chainlink
| Аспект | Chainlink | Band Protocol |
|---|---|---|
| Модель | Push (on-chain updates) | Pull via bridge |
| Кастомізація | Обмежена | Висока (oracle scripts) |
| Крос-чейн | Через CCIP | Нативно через IBC |
| TVL secured | $100B+ | $5B+ |
| Cosmos ecosystem | Слабо | Нативно |
| Вартість оновлень | Висока (всі фіди одночасно) | Низька (на запит) |
Band Protocol — оптимальний вибір для проектів на Cosmos та тих, кому потрібні кастомні data feeds. Для Ethereum mainnet DeFi з високою ліквідністю Chainlink залишається стандартом. Однак при великій кількості пар Band дає економію у 3-10 разів. Зв'яжіться з нами, щоб ми оцінили ваш проект та підібрали оптимальну схему інтеграції.
Детальніше читайте на Wikipedia.
Орієнтовні терміни: від тижня до місяця. Отримайте консультацію — зв'яжіться з нами для оцінки вашого проекту. Замовте інтеграцію Band Protocol сьогодні, щоб скоротити витрати на оракули.







