Децентрализованное приложение отправляет в браузер запросProvider событие dusk.

Где-то расширение кошелька слушает его. Оно слышит событие, отвечает dusk announceProvider — и устанавливается соединение. Всё асинхронно, без рукопожатия сверх этих двух событий: они просто передают друг другу сигналы в темноте.

Теперь представьте, что расширение загружается медленно именно в тот день. Или что его обработчик событий подключён неправильно — из-за какой-то мелкой детали реализации, ошибающейся на одну строку.

Запрос всё равно отправляется. Никто не отвечает. Нигде не появляется ошибка. Децентрализованное приложение просто сидит и ждёт объявление, которое никогда не должно было прийти — при этом нет способа отличить n0 кошелёк, не установленный, от установленного, но сломанного.

Согласно документации эта пара событий — каноническая точка интеграции, то есть каждый реализатор заслуживает доверия и должен сделать всё правильно, а молчание — единственный сигнал, когда что-то не работает.

@Dusk $DUSK
#dusk

#dusk $DUSK @Dusk