Как настроить 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 в качестве аргумента конструктора:
Приведем пример.
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).
Для более надежной реализации оракула Tellor ознакомьтесь с полным списком доступных функций здесь (opens in a new tab).
Последнее обновление страницы: 3 марта 2026 г.