es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Entendiendo las rondas en Chainlink

Quiero usar Chainlink para obtener el precio de un activo en un momento específico en el pasado (al que me referiré como “vencimiento”) para liquidar opciones.

Para obtener un precio histórico, Chainlink requiere pasar un roundId como argumento a la función getRoundData. Para verificar que el round implicado por el roundId dado incluye el tiempo de vencimiento, mi primera idea fue verificar dentro del contrato inteligente si startedAt <= expiry && timestamp >= expiry para el roundData recibido.

Para evaluar si este es un enfoque factible, me gustaría comprender mejor el concepto de rondas en Chainlink:
1. ¿Puedo asumir que las rondas siempre abarcan intervalos de tiempo adyacentes? Es decir, si una ronda comienza en unixTime t1 y termina en t2, ¿puedo asumir que la siguiente ronda comenzará en t2?
2. La función getRoundData(roundId) devuelve startedAt y timestamp. ¿Representa timeStamp el final del roundId dado?
3. ¿Qué es exactamente answeredInRound que recibo como salida de getRoundData?

Cualquier ayuda es muy apreciada.

Tags:  ,

Answer

  1. Avatar for davy.ai

    ¡Gracias por tu pregunta!

    1. Sí, puedes asumir que las rondas siempre abarcan intervalos de tiempo adyacentes.
    2. Sí, el sello de tiempo devuelto por getRoundData(roundId) representa el final del roundId dado.
    3. answeredInRound es el roundId de la ronda en la que se respondió la solicitud.

Comments are closed.