Cómo configurar Tellor como su oráculo
Pregunta: Su protocolo está casi terminado, pero necesita un oráculo para tener acceso a datos fuera de la cadena... ¿Qué necesita?
Requisitos previos (fácil)
Esta publicación tiene como objetivo hacer que el acceso a un feed de oráculo sea lo más simple y directo posible. Dicho esto, vamos a asumir lo siguiente sobre su nivel de habilidad de codificación para centrarnos en el aspecto del oráculo.
Supuestos:
- Puede navegar por un terminal.
- Tiene npm instalado.
- Sabe cómo usar npm para gestionar dependencias.
Tellor es un oráculo en vivo y de código abierto listo para su implementación. Esta guía para principiantes está aqui para demostrar la facilidad con la que uno puede implementar y poner en marcha Tellor, proporcionando a su proyecto un oráculo completamente descentralizado y resistente a la censura.
Resumen
Tellor es un sistema de oráculo donde las partes pueden solicitar el valor de un punto de datos fuera de la cadena (p. ej., BTC/USD) y los informantes compiten para agregar este valor a un banco de datos en cadena, accesible para todos los contratos inteligentes de Ethereum. Las entradas a este banco de datos están aseguradas por una red de informantes que hacen staking. Tellor utiliza mecanismos de incentivos criptoeconómicos, recompensando las presentaciones de datos honestas de los informantes y castigando a los malos actores por medio de la emisión del token de Tellor, Tributes (TRB), y un mecanismo de disputa.
En este tutorial veremos:
- Configurar el kit de herramientas inicial que necesitará para comenzar.
- Analizar un ejemplo sencillo.
- Listar direcciones de redes de prueba en las que actualmente puede probar Tellor.
UsingTellor
Lo primero que debe hacer es instalar las herramientas básicas necesarias para usar Tellor como oráculo. Use este paquete(opens in a new tab) para instalar los contratos de usuario de Tellor:
npm install usingtellor
Una vez instalado, esto permitirá a sus contratos heredar las funciones del contrato "UsingTellor".
¡Genial! Ahora que las herramientas están listas, continuemos con un pequeño ejercicio donde solicitaremos el precio de bitcoin:
Ejemplo de BTC/USD
Herede el contrato UsingTellor, pasando la dirección de Tellor como argumento de constructor:
Aquí hay un ejemplo:
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}Mostrar todoCopiar
Para ver un listado completo de direcciones de contrato, visite este enlace(opens in a new tab).
Para la facilidad de uso, el repositorio UsingTellor incluye una versión del contrato Tellor Playground(opens in a new tab) para una integración más fácil. Visite aquí(opens in a new tab) para un listado de funciones útiles.
Para una implementación más sólida del oráculo de Tellor, revise el listado completo de funciones disponibles aquí(opens in a new tab).
Última edición: @nhsz(opens in a new tab), 15 de agosto de 2023