Перейти к основному содержанию

Как настроить Tellor в качестве оракула

Solidity
Умные контракты
оракулы
Beginner
Tellor
29 июня 2021 г.
2 минута прочтения

Вопрос: Ваш протокол почти готов, но ему нужен оракул, чтобы получить доступ к данным вне цепочки... Что делать?

(Необязательные) предварительные требования

Цель этого поста — сделать доступ к каналу оракула максимально простым и понятным. Тем не менее, чтобы сосредоточиться на аспекте оракула, мы предполагаем, что у вас есть следующие навыки в кодировании.

Предположения:

  • вы умеете ориентироваться в терминале
  • у вас установлен 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";
2
3contract PriceContract is UsingTellor {
4 uint256 public btcPrice;
5
6 //Этот контракт теперь имеет доступ ко всем функциям в UsingTellor
7
8constructor(address payable _tellorAddress) UsingTellor(_tellorAddress) public {}
9
10function setBtcPrice() public {
11 bytes memory _b = abi.encode("SpotPrice",abi.encode("btc","usd"));
12 bytes32 _queryId = keccak256(_b);
13
14 uint256 _timestamp;
15 bytes _value;
16
17 (_value, _timestamp) = getDataBefore(_queryId, block.timestamp - 15 minutes);
18
19 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 г.

Было ли это руководство полезным?