Перейти до основного контенту

Як налаштувати Tellor як оракул

мова програмування
Смарт-контракти
оракули
Початківець
Tellor
29 червня 2021 р.
2 читається за хвилину

Експрес-тест: ваш протокол майже готовий, але йому потрібен оракул, щоб отримати доступ до даних поза ланцюгом... Що ви робите?

(Бажані) попередні вимоги

Ця стаття має на меті зробити доступ до потоку даних оракула якомога простішим і зрозумілішим. Водночас, щоб зосередитися на аспекті оракула, ми припускаємо, що ви володієте певним рівнем навичок програмування.

Припущення:

  • ви вмієте працювати з терміналом
  • у вас встановлений npm
  • ви знаєте, як використовувати npm для керування залежностями

Tellor — це діючий оракул з відкритим кодом, готовий до впровадження. Цей посібник для початківців демонструє, наскільки легко можна почати роботу з Tellor, забезпечивши ваш проєкт повністю децентралізованим і стійким до цензури оракулом.

Огляд

Tellor — це система оракула, у якій сторони можуть запитувати значення точки даних поза ланцюгом (наприклад, BTC/USD), а репортери змагаються за додавання цього значення до банку даних у ланцюзі, доступного для всіх смарт-контрактів Ethereum. Дані, що надходять до цього банку даних, захищені мережею репортерів, які зробили стейкінг. Tellor використовує криптоекономічні механізми стимулювання, винагороджуючи репортерів за чесне подання даних і караючи зловмисників через випуск токена Tellor, Tributes (TRB), та механізм оскарження.

У цьому посібнику ми розглянемо:

  • Налаштування початкового набору інструментів, який знадобиться для початку роботи.
  • Розгляд простого прикладу.
  • Перелік адрес тестових мереж, де наразі можна тестувати Tellor.

UsingTellor

Перше, що вам потрібно зробити, це встановити основні інструменти, необхідні для використання 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 р.

Чи була ця інструкція корисною?