Децентрализованное приложение отправляет в браузер запросProvider событие dusk.
Где-то расширение кошелька слушает его. Оно слышит событие, отвечает dusk announceProvider — и устанавливается соединение. Всё асинхронно, без рукопожатия сверх этих двух событий: они просто передают друг другу сигналы в темноте.
Теперь представьте, что расширение загружается медленно именно в тот день. Или что его обработчик событий подключён неправильно — из-за какой-то мелкой детали реализации, ошибающейся на одну строку.
Запрос всё равно отправляется. Никто не отвечает. Нигде не появляется ошибка. Децентрализованное приложение просто сидит и ждёт объявление, которое никогда не должно было прийти — при этом нет способа отличить n0 кошелёк, не установленный, от установленного, но сломанного.
Согласно документации эта пара событий — каноническая точка интеграции, то есть каждый реализатор заслуживает доверия и должен сделать всё правильно, а молчание — единственный сигнал, когда что-то не работает.
@Dusk $DUSK
#dusk
#dusk $DUSK @Dusk
Где-то расширение кошелька слушает его. Оно слышит событие, отвечает dusk announceProvider — и устанавливается соединение. Всё асинхронно, без рукопожатия сверх этих двух событий: они просто передают друг другу сигналы в темноте.
Теперь представьте, что расширение загружается медленно именно в тот день. Или что его обработчик событий подключён неправильно — из-за какой-то мелкой детали реализации, ошибающейся на одну строку.
Запрос всё равно отправляется. Никто не отвечает. Нигде не появляется ошибка. Децентрализованное приложение просто сидит и ждёт объявление, которое никогда не должно было прийти — при этом нет способа отличить n0 кошелёк, не установленный, от установленного, но сломанного.
Согласно документации эта пара событий — каноническая точка интеграции, то есть каждый реализатор заслуживает доверия и должен сделать всё правильно, а молчание — единственный сигнал, когда что-то не работает.
@Dusk $DUSK
#dusk
#dusk $DUSK @Dusk
