Курсы ЦБ по запросу
Контракт не ходит в интернет сам: все ноды должны получить одинаковый результат. Поэтому курс приходит в два шага, и на этой странице видно оба.
- Вы вызываете requestRate: контракт спрашивает верховного оракула, можно ли ему обращаться к релееру, и создаёт заявку (событие RelayerRequest).
- Релеер cbr-rates видит заявку, берёт курс на cbr.ru и отправляет его в контракт своей транзакцией (fulfill).
- Контракт проверяет, что ответ пришёл от оператора релеера, и записывает курс. Обычно это занимает несколько секунд.