Was passiert eigentlich, wenn du in einer dApp auf eine SchaltflĂ€che klickst? 👇

Angenommen, du verwendest eine dezentrale App und klickst auf „Token senden“.

Es sieht nach einer einfachen Aktion aus. Im Hintergrund passieren jedoch mehrere Dinge.

1√ Das Frontend bereitet die Anfrage vor

Deine dApp verwendet ihre BenutzeroberflĂ€che und den Code zur Vertragsintegration, um die gewĂŒnschte Aktion vorzubereiten.

2√ Deine Wallet bittet um Genehmigung

Bei einer Transaktion, die den Zustand der Blockchain verĂ€ndert, kannst du die Anfrage in deiner Wallet ĂŒberprĂŒfen und signieren. Signiere niemals etwas, das du nicht verstehst.

3ïžâƒŁ Die Transaktion wird an das Netzwerk gesendet

Die signierte Transaktion wird ĂŒber einen RPC-Anbieter an das Blockchain-Netzwerk ĂŒbermittelt.

4ïžâƒŁ Der Smart Contract wird ausgefĂŒhrt

Das Netzwerk verarbeitet die Transaktion gemĂ€ĂŸ dem Code des Vertrags. Wenn die Transaktion erfolgreich ist, kann sich der Zustand des Vertrags Ă€ndern.

5√ Deine App ĂŒberprĂŒft das Ergebnis

Deine dApp kann den Transaktionsstatus verfolgen und nach Erhalt der entsprechenden BestĂ€tigung ein Ergebnis anzeigen. Bei wichtigen Aktionen sollte sie den Transaktionsbeleg und die erwarteten Ereignisse ĂŒberprĂŒfen, anstatt einer Erfolgsmeldung des Frontends einfach zu vertrauen.

Ein Detail wird von Einsteigern oft ĂŒbersehen:

Blockchain-Daten zu lesen ist etwas anderes, als sie zu Àndern.

- „balanceOf()“ kann einen Token-Kontostand in der Regel ĂŒber einen schreibgeschĂŒtzten Aufruf lesen, ohne eine TransaktionsgebĂŒhr zu zahlen.
- „transfer()“ verĂ€ndert den Zustand der Blockchain und erfordert im Allgemeinen eine signierte Transaktion sowie eine NetzwerkgebĂŒhr.

Der genaue Ablauf hÀngt von der Blockchain, der Wallet und dem Vertrag ab, die du verwendest.

Als Entwickler hilft uns das VerstÀndnis dieses Ablaufs dabei, bessere BenutzeroberflÀchen zu entwickeln, Fehler richtig zu behandeln und Nutzern den Transaktionsstatus verstÀndlicher anzuzeigen.

Ich beschÀftige mich aus der Perspektive der Full-Stack- und Web3-Entwicklung mit diesen Konzepten und teile meine Erkenntnisse auf diesem Weg.

Frage an alle, die mitentwickeln: Welchen Teil soll ich als NÀchstes genauer erklÀren: Wallet-Integration, RPC-Anbieter oder Transaktionsbelege?

#Web3Dev #SmartContracts #BinanceSquare