Pular para o conteúdo principal

Como configurar Tellor como seu Oráculo

soliditycontratos inteligentesoráculos
Intermediário
Tellor
Documentação Tellor(opens in a new tab)
29 de junho de 2021
2 minutos de leitura minute read

Pop Quiz: Seu protocolo está quase pronto, mas precisa de um oráculo para obter acesso aos dados off-chain... O que você faz?

(Soft) Pré-requisitos

Esse texto tem como objetivo tornar o acesso a um conjunto de dados através do uso de um oráculo o mais simples e direto possível. Dito isso, estamos assumindo o seguinte sobre seu nível de habilidade de codificação para focar no aspecto do oráculo.

Suposições:

  • você pode navegar em um terminal
  • você tem o npm instalado
  • você sabe como usar o npm para gerenciar dependências

Tellor é um oráculo vivo e de código aberto pronto para implementação. Este guia para iniciantes está aqui para mostrar a facilidade com que se pode começar a trabalhar com Tellor, fornecendo ao seu projeto um oráculo totalmente descentralizado e resistente à censura.

Visão geral

Tellor é um sistema de oráculo onde as partes podem solicitar o valor de um ponto de dados off-chain (por exemplo, BTC/USD) e os repórteres (nós ou participantes) competem para adicionar esse valor a um banco de dados on-chain, acessível por todos os contratos inteligentes do Ethereum. As entradas para este banco de dados são asseguradas por uma rede de repórteres participantes. Tellor utiliza mecanismos de incentivo cripto-econômico, recompensando envios de dados honestos por repórteres e punindo maus atores por meio da emissão do token Tellor, Tributos (TRB) e um mecanismo de disputa.

Neste tutorial, nós iremos ver:

  • Configurar o kit de ferramentas inicial, que você precisará para começar a trabalhar.
  • Percorra por um exemplo simples.
  • Listar os endereços de teste das redes as quais você pode testar o Tellor atualmente.

UsingTellor

A primeira coisa que você vai querer fazer é instalar as ferramentas básicas necessárias para usar o Tellor como seu oráculo. Use este pacote(opens in a new tab) para instalar os contratos de usuário do Tellor:

npm install usingtellor

Uma vez instalado, isso permitirá que seus contratos herdem as funções do contrato 'UsingTellor'.

Excelente! Agora que você tem as ferramentas prontas, vamos passar por um simples exercício onde recuperamos o preço do bitcoin:

Exemplo BTC/USD

Herde o contrato UsingTellor, passando o endereço do Tellor como um argumento do construtor:

Aqui está um exemplo:

1import "usingtellor/contracts/UsingTellor.sol";
2
3contract PriceContract is UsingTellor {
4 uint256 public btcPrice;
5
6 //This Contract now has access to all functions in 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}
Exibir tudo
Copiar

Para uma lista completa de endereços de contrato, consulte aqui(opens in a new tab).

Para facilidade de uso, o repositório UsingTellor vem com uma versão do contrato Tellor Playground(opens in a new tab) para facilitar a integração. Consulte aqui(opens in a new tab) para obter uma lista de funções úteis.

Para uma implementação mais robusta do oráculo Tellor, confira a lista completa de funções, disponíveis aqui(opens in a new tab).

Última edição: @rafarocha(opens in a new tab), 19 de janeiro de 2024

Este tutorial foi útil?