跳至主要内容

協助翻譯本頁面

🌏

由於尚未翻譯,本頁面內容以英文顯示。協助我們翻譯內容。

翻譯本頁面

這裡沒有漏洞!🐛

此頁面未翻譯,目前特意維持英文原文。

How to Set Up Tellor as your Oracle

solidity
smart contracts
price feeds
oracles
Beginner
✍Tellor
📚Tellor Docs
📆2021年6月29日
⏱️2 minute read

Pop Quiz: Your protocol is just about finished, but it needs an oracle to get access to off chain data...What do you do?

(Soft) Prerequisites

This post aims to make accessing an oracle feed as simple and straightforward as possible. That said, we're assuming the following about your coding skill-level to focus on the oracle aspect.

Assumptions:

  • you can navigate a terminal
  • you have npm installed
  • you know how to use npm to manage dependencies

Tellor is a live and open-sourced oracle ready for implementation. This beginner's guide is here to showcase the ease with which one can get up and running with Tellor, providing your project with a fully decentralized and censorship-resistent oracle.

Overview

Tellor is an oracle system where parties can request the value of an off-chain data point (e.g. BTC/USD) and reporters compete to add this value to an on-chain data-bank, accessible by all Ethereum smart contracts. The inputs to this data-bank are secured by a network of staked reporters. Tellor utilizes crypto-economic incentive mechanisms, rewarding honest data submissions by reporters and punishing bad actors through the issuance of Tellor’s token, Tributes (TRB) and a dispute mechanism.

In this tutorial we'll go over:

  • Setting up the initial toolkit you'll need to get up and running.
  • Walk through a simple example.
  • List out testnet addresses of networks you currently can test Tellor on.

UsingTellor

The first thing you'll want to do is install the basic tools necessary for using Tellor as your oracle. Use this package to install the Tellor User Contracts:

npm install usingtellor

Once installed this will allow your contracts to inherit the functions from the contract 'UsingTellor'.

Great! Now that you've got the tools ready, let's go through a simple exercise where we retrieve the bitcoin price:

BTC/USD Example

Inherit the UsingTellor contract, passing the Tellor address as a constructor argument:

Here's an example:

1import "usingtellor/contracts/UsingTellor.sol";
2
3contract BtcPriceContract is UsingTellor {
4
5 //This Contract now has access to all functions in UsingTellor
6
7 bytes btcPrice;
8 bytes32 btcQueryId = 0x0000000000000000000000000000000000000000000000000000000000000002;
9
10 constructor(address payable _tellorAddress) UsingTellor(_tellorAddress) public {}
11
12 function setBtcPrice() public {
13 bool _didGet;
14 uint256 _timestamp;
15
16 (_didGet, btcPrice, _timestamp) = getCurrentValue(btcQueryId);
17 }
18}
19
顯示全部
📋 複製

Want to try a different data feed? Check out the list of supported data feeds here: Current Data Feeds

Addresses:

Mainnet: 0x88df592f8eb5d7bd38bfef7deb0fbc02cf3778a0

Looking to do some testing first? See the list below for our active testnet addresses:

Rinkeby: 0x88df592f8eb5d7bd38bfef7deb0fbc02cf3778a0

Kovan: 0x3477EB82263dabb59AC0CAcE47a61292f28A2eA7

Ropsten: 0x3477EB82263dabb59AC0CAcE47a61292f28A2eA7

Goerli: 0x3477EB82263dabb59AC0CAcE47a61292f28A2eA7

BSC Testnet: 0x3477EB82263dabb59AC0CAcE47a61292f28A2eA7

Polygon Mumbai Testnet: 0x3477EB82263dabb59AC0CAcE47a61292f28A2eA7

Arbitrum Testnet: 0x3477EB82263dabb59AC0CAcE47a61292f28A2eA7

For a more robust implementation of the Tellor oracle, check out the full list of available functions here.

最後編輯: , Invalid DateTime
編輯頁面

這個頁面對您有幫助嗎?

網站上次更新: 2022年10月4日

使用以太坊

  • 尋找錢包
  • 取得以太幣
  • 去中心化應用程式 (dapp)
  • 第二層
  • 執行節點
  • 穩定幣
  • Stake ETH

生態系統

  • 社群中心
  • 以太坊基金會
  • 以太坊基金會部落格
  • 生態系統支援計畫
  • 以太坊漏洞懸賞計畫
  • 生態系統獎助金計畫
  • 以太坊品牌資產
  • Devcon