Chainlink VRF. Часть 2
Прежде всего стоит немного пояснить, как работает связка контрактов для генерации случайных чисел.
В chainlink vrf помимо нашего контракта существуют еще два контракта: VRF Координатор и VRF Сервис.
Первый, будучи блокчейн компонентом, порождает событие, когда мы отправляем запрос на генерацию числа из нашего контракта. И после верифицирует от Сервиса сгенерированное число и доказательство этого.
Второй, внесетевой компонент, слушает события от Координатора и генерирует случайное число основанное на хеше блока и времени. После этого он отправляет данное число и доказательство, что число действительно было сгенерировано случайно, в Координатора.
Эту цепь можно представить так:
Наш контракт (отправляет запрос на число) => Координатор (порождает событие, отправляет в Сервис) => Сервис (создает число и доказательство случайности, отправляет в Координатор) => Координатор (подтверждает число и доказательство, отправляет в наш Контракт) => Наш контракт
В нашем контракте сгенерированное число записывается либо в переменную, либо в mapping.
#chainlink #vrf #random
Post #273
127
- 👍 1