Come Configurare Tellor come tuo Oracolo
Quiz: il tuo protocollo è appena terminato, ma ti serve un oracolo per avere accesso ai dati esterni alla catena... Cosa fai?
(Soft) Prerequisiti
Questo post intende rendere l'accesso al feed dell'oracolo il più semplice e diretto possibile. Detto ciò, per concentrarci sull'aspetto dell'oracolo, presumiamo da parte tua le seguenti abilità di programmazione.
Premesse:
- se capage di muoverti nella console
- hai installato npm
- sai come usare npm per gestire le dipendenze
Tellor è un oracolo in diretta e open source pronto all'implementazione. Questa guida per principianti serve a mostrare la facilità con cui puoi metterti al lavoro con Tellor, fornendo il tuo progetto con un oracolo completamente decentralizzato e resistente alla censura.
Panoramica
Tellor è un sistema di oracolo in cui le parti possono richiedere il valore di un punto di dati esterno alla catena (es. BTC/USD) e i segnalatori competono ad aggiungere tale valore a una banca dati sulla catena, accessibile da tutti i contratti intelligenti di Ethereum. Gli input a questa banca dati sono protetti da una rete di reporter di staking. Tellor utilizza dei meccanismi d'incentivazione cripto-economica, ricompensando gli invii di dati onesti dai segnalatori e punendo gli utenti malevoli tramite l'emissione del token di Tellor, Tributes (TRB) e un meccanismo di disputa.
In questo tutorial, esamineremo:
- Configurazione del toolkit iniziale di cui ha bisogno per metterti al lavoro.
- Guida a un semplice esempio.
- Elenco degli indirizzi testnet delle reti su cui puoi testare Tellor in questo momento.
Usare Tellor
La prima cosa che dovrai fare è installare gli strumenti di base necessari per usare Tellor come oracolo. Usa questo pacchetto(opens in a new tab) per installare i Contratti Utente di Tellor:
npm install usingtellor
Una volta installato, i tuoi contratti potranno ereditare le funzioni dal contratto 'UsingTellor'.
Ottimo! Ora che hai preparato gli strumenti, guardiamo un semplice esercizio in cui recuperiamo il prezzo Bitcoin:
Esempio BTC/USD
Eredita il contratto UsingTellor, passando l'indirizzo di Tellor come argomento del costruttore:
Ecco un esempio:
1import "usingtellor/contracts/UsingTellor.sol";23contract PriceContract is UsingTellor {4 uint256 public btcPrice;56 //This Contract now has access to all functions in UsingTellor78constructor(address payable _tellorAddress) UsingTellor(_tellorAddress) public {}910function setBtcPrice() public {11 bytes memory _b = abi.encode("SpotPrice",abi.encode("btc","usd"));12 bytes32 _queryId = keccak256(_b);1314 uint256 _timestamp;15 bytes _value;1617 (_value, _timestamp) = getDataBefore(_queryId, block.timestamp - 15 minutes);1819 btcPrice = abi.decode(_value,(uint256));20 }21}Mostra tuttoCopia
Per un elenco completo degli indirizzi dei contratti, fai riferimento a questa guida(opens in a new tab).
Per semplicità d'uso, la repository UsingTellort è dotata di una versione del contratto Tellor Playground(opens in a new tab), per una più facile integrazione. Visualizza questa pagina(opens in a new tab) per un elenco delle funzioni utili.
Per un'implementazione più robusta dell'oracolo di Tellor, consulta qui(opens in a new tab) l'elenco completo delle funzioni disponibili.
Ultima modifica: @nhsz(opens in a new tab), 15 agosto 2023