Заказчик столкнулся с проблемой: его DeFi-протокол на Polygon требовал надёжного источника данных для расчёта процентных ставок по 50+ парам. Chainlink не подходил — высокая стоимость push-обновлений ($5000 в месяц на 50 фидов) и ограниченная кастомизация. Мы предложили интеграцию с Band Protocol, который работает по pull-модели через BandChain (Cosmos SDK) и позволяет создавать кастомные oracle scripts. В результате затраты на gas снизились в 5 раз, а экономия составила до 97% от стоимости аналогичных фидов на Chainlink. Наш опыт включает 7+ интеграций оракулов в DeFi-протоколы с совокупным TVL $150M+. За последние 3 года мы разработали десятки 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 сегодня, чтобы сократить расходы на оракулы.







