---
title: "Как настроить Теллор в качестве вашего оракула"
description: "Руководство по началу работы с интеграцией оракула Теллор в ваш протокол"
author: "Теллор"
lang: ru
tags: ["Solidity", "смарт-контракты", "оракулы"]
skill: beginner
breadcrumb: "Оракул Теллор"
published: 2021-06-29
source: Tellor Docs
sourceUrl: https://docs.tellor.io/tellor/
---

Небольшой тест: ваш протокол почти готов, но ему нужен оракул для получения доступа к офчейн-данным... Что вы будете делать?

## Нестрогие предварительные требования {#soft-prerequisites}

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

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

- вы умеете работать в терминале
- у вас установлен npm
- вы знаете, как использовать npm для управления зависимостями

Теллор — это работающий оракул с открытым исходным кодом, готовый к внедрению. Это руководство для начинающих призвано продемонстрировать, насколько легко можно начать работу с Теллор, обеспечив ваш проект полностью децентрализованным и устойчивым к цензуре оракулом.

## Обзор {#overview}

Теллор — это система оракулов, в которой стороны могут запрашивать значение офчейн-данных (например, BTC/USD), а репортеры соревнуются за добавление этого значения в ончейн-банк данных, доступный для всех смарт-контрактов Эфириума. Входные данные в этот банк данных защищены сетью репортеров, внесших стейк. Теллор использует криптоэкономические механизмы стимулирования, вознаграждая честное предоставление данных репортерами и наказывая злоумышленников посредством эмиссии токена Теллор — Tributes (TRB), а также механизма разрешения споров.

В этом руководстве мы рассмотрим:

- Настройку начального набора инструментов, который понадобится вам для начала работы.
- Разбор простого примера.
- Список адресов тестовых сетей, в которых в настоящее время можно протестировать Теллор.

## UsingTellor {#usingtellor}

Первое, что вам нужно сделать, это установить базовые инструменты, необходимые для использования Теллор в качестве вашего оракула. Используйте [этот пакет](https://github.com/tellor-io/usingtellor) для установки пользовательских контрактов Теллор (Tellor User Contracts):

`npm install usingtellor`

После установки это позволит вашим контрактам наследовать функции от контракта «UsingTellor».

Отлично! Теперь, когда инструменты готовы, давайте выполним простое упражнение, в котором мы получим цену Биткоина:

### Пример BTC/USD {#btcusd-example}

Унаследуйте контракт UsingTellor, передав адрес Теллор в качестве аргумента конструктора:

Вот пример:

```solidity
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));
  }
}
```

Полный список адресов контрактов можно найти [здесь](https://docs.tellor.io/tellor/the-basics/contracts-reference).

Для удобства использования репозиторий UsingTellor поставляется с версией контракта [Tellor Playground](https://github.com/tellor-io/TellorPlayground) для более простой интеграции. Список полезных функций смотрите [здесь](https://github.com/tellor-io/sampleUsingTellor#tellor-playground).

Для более надежной реализации оракула Теллор ознакомьтесь с полным списком доступных функций [здесь](https://github.com/tellor-io/usingtellor/blob/master/README.md).