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