Back to Blog

So meistern Sie DeFi-Transaktionsanalysen mit Phalcon Explorer 2.0

Phalcon
January 5, 2023
5 min read

BlockSec Phalcon wurde auf 2.0 aktualisiert. Fliegen Sie mit Phalcon und tauchen Sie tief in Transaktionen ein!

Phalcon ist ein leistungsstarker Transaktions-Explorer, der für die DeFi-Community entwickelt wurde. Er bietet umfassende Daten zu Aufrufsequenzen (Invocation Flow), Bilanzänderungen und Geldflüssen bei Transaktionen. Zudem unterstützt er die Transaktionssimulation.

Ziel von Phalcon ist es, Entwicklern, Sicherheitsforschern und Tradern ein intuitives Verständnis von Transaktionen zu ermöglichen.

Dieses Benutzerhandbuch führt Sie in die verschiedenen Features und Funktionen von Phalcon ein. Zur besseren Veranschaulichung verwenden wir diese Transaktion auf Ethereum als Beispiel.

Transaktionssuche

Um nach einer Transaktion zu suchen, gehen Sie zur Phalcon Explorer-Startseite und geben Sie den Transaktions-Hash in das Suchfeld ein. Klicken Sie auf das Ergebnis, um die Detailseite der Transaktionsanalyse aufzurufen.

Phalcon unterstützt derzeit die Analyse von Transaktionen auf Ethereum, Binance Smart Chain, Polygon, Cronos und Avalanche C-Chain. Weitere Chains sind in Planung.

Transaktionsanalyse

Die Ergebnisseite einer Transaktion ist in vier Hauptmodule unterteilt.

  • Basisinformationen
  • Geldfluss
  • Bilanzänderungen
  • Aufrufsequenz (Invocation Flow)
  • Code-Ansicht (Neu)

Basisinformationen

Das Modul Basisinformationen zeigt die grundlegenden Daten der Transaktion an, einschließlich des Ausführungsstatus (Status), des Senders (Sender) und des Empfängers (Receiver).

Die Anzahl der internen Transaktionen gibt Aufschluss über die Komplexität der Transaktion. Je höher der Wert, desto komplexer ist die Transaktion.

Über die Schaltfläche [Simulate This Tx] in der oberen rechten Ecke können Sie die Ergebnisse der aktuellen Transaktion schnell für verschiedene Blocknummern (BlockNum) und Positionen (position in the block) simulieren (die Transaktionssimulation wird in diesem Abschnitt erklärt).

Geldfluss

Das Modul „Geldfluss“ stellt den Fluss der an der Transaktion beteiligten Token als gerichteten Graphen dar. Verschiedene Knoten repräsentieren unterschiedliche Kontoadressen, und eine unterschiedliche Hintergrundfarbe unterscheidet zwischen dem Sender oder Empfänger einer Transaktion.

Die gerichteten Kanten und die Informationen an den Kanten zeigen die Transferrichtung, den Token und die Anzahl der übertragenen Token.

  • Unterschiedliche laufende Nummern an den Kanten dienen dazu, die chronologische Reihenfolge der Token-Transfers zu unterscheiden.
  • Kanten derselben Farbe kennzeichnen Transfers desselben Tokens.
  • Der gleiche gerichtete Fluss desselben Tokens zwischen zwei Adressen wird zusammengefasst, um die Geldflusskarte der Transaktion zu vereinfachen und gleichzeitig die Merkmale des Token-Transfers beizubehalten.

Das Modul bietet zudem die Möglichkeit, das Flussdiagramm in der oberen rechten Ecke zu vergrößern und zu verkleinern. Das Geldflussdiagramm kann als SVG- oder PNG-Datei heruntergeladen werden.

Bilanzänderungen

Das Modul Bilanzänderungen zeigt die Konten an, bei denen sich nach der Ausführung der Transaktion das Token-Guthaben geändert hat.

  • Die erste Spalte listet die Adressen mit einem Netto-Zufluss oder -Abfluss von Token auf.
  • Die zweite Spalte listet die Token-Informationen auf, einschließlich der Namen der Token, die in die Adresse hinein- oder aus ihr herausfließen.
  • Die dritte Spalte zeigt die Bilanzänderung, d. h. den Betrag des Token-Zuflusses oder -Abflusses.
  • Die letzte Spalte zeigt den Wert der Anzahl der Token, die in jedes Konto hinein- oder herausgeflossen sind, zum Zeitpunkt der Transaktion.

Aufrufsequenz (Invocation Flow)

Der „Invocation Flow“ zeigt die Abfolge von Funktionsaufrufen in einer Transaktion als Baumstruktur an.

Jeder Knoten repräsentiert einen Funktionsaufruf oder Ereignisauslöser und enthält Informationen wie Aufrufstapeltiefe (Stack depth), Aufruftyp und Aufrufparameter. Ein Suchfeld sowie ein Dropdown-Menü für Aufruftypen und Erweiterungen stehen am oberen Rand des Moduls bereit, um den Benutzern die Interpretation des Transaktionsausführungsflusses zu erleichtern.

Benutzer können nach der gewünschten Aufrufsequenz suchen und diese filtern, indem sie eine Adresse, eine Funktionssignatur oder einen Funktionsselektor in das Suchfeld eingeben. Die folgende Abbildung zeigt das Ergebnis nach dem Filtern über die WETH-Adresse.

Die Aufrufstapeltiefe kann vom Benutzer über das Dropdown-Menü ausgewählt werden. Die folgende Abbildung zeigt die Aufrufsequenz nach Auswahl einer Aufrufstapeltiefe von 2.

Code-Ansicht

Während der Analyse kann der Code des verifizierten Vertrages in der Code-Ansicht angezeigt werden. Unsere Code-Ansicht unterstützt verschiedene Layouts für den Trace, einschließlich der Unterstützung einer separaten Code-Ansicht.

  • Trace Only: Zeigt nur den Aufrufablauf (Code-Trace).

  • Trace & Code (LR): Eine Code-Ansicht wird angezeigt, wobei der Aufrufablauf links und der Code rechts zu sehen sind. Wenn ein Aufruf eines verifizierten Vertrages innerhalb des Aufrufablaufs angeklickt wird, zeigt der obere Teil der Code-Ansicht den Quellcode des angeklickten Vertrages. Der untere Teil zeigt die Parameter und Rückgabewerte.

  • Trace & Code (TB): Ähnlich wie Trace & Code (LR), aber das Layout von Trace und Code ist oben-unten statt links-rechts angeordnet.

  • Separate Code View: Die Code-Ansicht befindet sich in einem separaten Browser-Tab, der auf einen anderen Monitor verschoben werden kann (ideal für Benutzer mit mehreren Bildschirmen).

Darüber hinaus können Benutzer am oberen Rand der Code-Ansicht auf der rechten Seite schnell zwischen verschiedenen Modulen wechseln. Der Verlauf der betrachteten Quellcodes innerhalb dieser Transaktion wird bereitgestellt, sodass andere Quelldateien einfach eingesehen werden können.

Anpassung

Phalcon unterstützt Anpassungen, um die Analyse zu erleichtern.

Benutzerdefinierte Hervorhebung (Custom Highlight)

Während der Analyse können Adresse, Funktion und Ereignis mit einer benutzerdefinierten Farbe hervorgehoben werden.

Benutzerdefiniertes Label (Custom Label)

Adresse, Funktion und Ereignis können mit benutzerdefinierten Bezeichnungen versehen werden.

Benutzerdefinierte Funktionssignatur

Für die calldata eines Vertrags kann eine benutzerdefinierte Funktionssignatur bereitgestellt werden, um die calldata zu dekodieren.

Transaktionssimulation

Simulation einer benutzerdefinierten Transaktion

Um eine Transaktion zu simulieren, klicken Sie auf die Schaltfläche [Simulation] und füllen Sie die erforderlichen Informationen im Panel des Transaktionssimulators aus. Klicken Sie anschließend auf die Schaltfläche [Simulate], um die Simulationsergebnisse auf der Detailseite anzuzeigen. Sie können auch das Webseiten-Design ändern, indem Sie auf das Symbol neben der [Simulation]-Schaltfläche klicken.

Simulation einer bestehenden Transaktion

Über die Schaltfläche [Simulate This Tx] in der oberen rechten Ecke der Transaktionsdetailseite kann ein Benutzer die Ergebnisse der aktuellen Transaktion schnell für verschiedene Blocknummern [BlockNum] und Positionen [position in the block] simulieren.