Как настроить Теллор в качестве вашего оракула
Небольшой тест: ваш протокол почти готов, но ему нужен оракул для получения доступа к офчейн-данным... Что вы будете делать?
Нестрогие предварительные требования
Эта статья призвана сделать доступ к каналу данных оракула максимально простым и понятным. Тем не менее, мы предполагаем наличие у вас следующих навыков программирования, чтобы сосредоточиться именно на аспектах работы с оракулом.
Предположения:
- вы умеете работать в терминале
- у вас установлен npm
- вы знаете, как использовать npm для управления зависимостями
Теллор — это работающий оракул с открытым исходным кодом, готовый к внедрению. Это руководство для начинающих призвано продемонстрировать, насколько легко можно начать работу с Теллор, обеспечив ваш проект полностью децентрализованным и устойчивым к цензуре оракулом.
Обзор
Теллор — это система оракулов, в которой стороны могут запрашивать значение офчейн-данных (например, BTC/USD), а репортеры соревнуются за добавление этого значения в ончейн-банк данных, доступный для всех смарт-контрактов Эфириума. Входные данные в этот банк данных защищены сетью репортеров, внесших стейк. Теллор использует криптоэкономические механизмы стимулирования, вознаграждая честное предоставление данных репортерами и наказывая злоумышленников посредством эмиссии токена Теллор — Tributes (TRB), а также механизма разрешения споров.
В этом руководстве мы рассмотрим:
- Настройку начального набора инструментов, который понадобится вам для начала работы.
- Разбор простого примера.
- Список адресов тестовых сетей, в которых в настоящее время можно протестировать Теллор.
UsingTellor
Первое, что вам нужно сделать, это установить базовые инструменты, необходимые для использования Теллор в качестве вашего оракула. Используйте этот пакет (opens in a new tab) для установки пользовательских контрактов Теллор (Tellor User Contracts):
npm install usingtellor
После установки это позволит вашим контрактам наследовать функции от контракта «UsingTellor».
Отлично! Теперь, когда инструменты готовы, давайте выполним простое упражнение, в котором мы получим цену Биткоина:
Пример BTC/USD
Унаследуйте контракт UsingTellor, передав адрес Теллор в качестве аргумента конструктора:
Вот пример:
import "usingtellor/contracts/UsingTellor.sol";
contract PriceContract is UsingTellor {
uint256 public btcPrice;
//Этот контракт теперь имеет доступ ко всем функциям в UsingTellor
constructor(address payable _tellorAddress) UsingTellor(_tellorAddress) public {}
function setBtcPrice() public {
bytes memory _b = abi.encode("SpotPrice",abi.encode("btc","usd"));
bytes32 _queryId = keccak256(_b);
uint256 _timestamp;
bytes _value;
(_value, _timestamp) = getDataBefore(_queryId, block.timestamp - 15 minutes);
btcPrice = abi.decode(_value,(uint256));
}
}
Полный список адресов контрактов можно найти здесь (opens in a new tab).
Для удобства использования репозиторий UsingTellor поставляется с версией контракта Tellor Playground (opens in a new tab) для более простой интеграции. Список полезных функций смотрите здесь (opens in a new tab).
Для более надежной реализации оракула Теллор ознакомьтесь с полным списком доступных функций здесь (opens in a new tab).
Последнее обновление страницы: 3 марта 2026 г.