Eine dApp feuert ein dusk requestProvider-Ereignis in den Browser.

Irgendwo lauscht eine Wallet-Erweiterung. Sie hört das Ereignis, antwortet mit dusk announceProvider, und eine Verbindung entsteht asynchron, ohne Handshake über diese beiden Ereignisse hinaus, die einander im Dunkeln passieren.

Stell dir nun vor, wie die Erweiterung genau an diesem Tag langsam lädt. Oder dass ihr Ereignis-Listener falsch verdrahtet ist, irgendein kleines Implementierungsdetail, eine Zeile daneben.

Die Anfrage wird weiterhin gesendet. Nichts antwortet. Nirgendwo erscheint ein Fehler. Die dApp sitzt einfach da und wartet auf eine Ankündigung, die niemals kommen wird – ohne Möglichkeit, zwischen „n0 Wallet installiert“ und „Wallet installiert, aber kaputt“ zu unterscheiden.

Laut der Dokumentation ist dieses Ereignispaar die kanonische Integrationsoberfläche bedeutet: Jeder Implementierer wird darauf vertrauen, es richtig zu machen – mit Schweigen als einzigem Signal, wenn jemand es nicht tut.

@Dusk $DUSK
#dusk

#dusk $DUSK @Dusk