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
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