Back to Blog

如何使用 Phalcon Explorer 2.0 精通 DeFi 交易分析

Phalcon
January 5, 2023
5 min read

BlockSec Phalcon 已升級至 2.0 版本。立即使用 Phalcon 探索交易!

Phalcon 是一款專為 DeFi 社群設計的強大交易瀏覽器。它提供有關交易調用流程、餘額變化和資金流向的完整數據,並支援交易模擬功能。

Phalcon 旨在幫助開發人員、安全研究人員和交易者直觀地理解各項交易。

本使用者指南將為您介紹 Phalcon 的各項特性與功能。為了更清楚說明,我們以 Ethereum 上的此筆交易為例。

交易搜尋

若要搜尋交易,請前往 Phalcon Explorer 首頁,並在搜尋框中輸入交易雜湊值 (Hash)。點擊搜尋結果即可查看該交易的詳細解析頁面。

Phalcon 目前支援分析 Ethereum、Binance Smart Chain、Polygon、Cronos 和 Avalanche C-Chain 上的交易。更多鏈即將整合。

交易分析

交易結果頁面針對單筆交易分為四個主要模組:

  • 基本資訊 (Basic Info)
  • 資金流向 (Fund Flow)
  • 餘額變化 (Balance Changes)
  • 調用流程 (Invocation Flow)
  • 程式碼檢視 (Code View) (新功能)

基本資訊

Basic Info 模組顯示交易的基本資訊,包括執行狀態 (Status)、發送方 (Sender) 以及接收方 (Receiver)。

內部交易計數 (Internal transaction count) 代表內部交易的數量,可用於判斷交易的複雜度。數值越高,代表該交易越複雜。

右上角的 [Simulate This Tx] 按鈕讓您可以快速模擬當前交易在不同區塊高度 [BlockNum] 和區塊內位置 [position in the block] 的執行結果(交易模擬將在本節中詳細說明)。

資金流向

資金流向模組以有向圖的形式展示交易中涉及的代幣流向。不同的節點代表不同的帳戶地址,並透過不同的背景顏色區分交易的發送方或接收方。

有向邊以及邊上的資訊顯示了轉帳方向、代幣種類以及轉移的代幣數量。

  • 邊上的不同序號用於區分代幣轉移的先後順序。
  • 同顏色的邊標識同一種代幣的轉移。
  • 兩地址間相同代幣、相同方向的金流會被合併,在簡化交易金流圖的同時保留代幣轉移的特徵。

該模組亦提供右上角的金流圖縮放功能。金流圖可下載為 SVG 或 PNG 檔案。

餘額變化

Balance Changes 模組顯示交易執行後,代幣餘額發生變化的帳戶。

  • 第一列列出淨流入或流出代幣的地址。
  • 第二列列出代幣資訊,包括流入或流出該地址的代幣名稱。
  • 第三列顯示餘額變化,即代幣的流入或流出金額。
  • 最後一列顯示交易發生時該帳戶流入或流出代幣的價值。

調用流程

調用流程 (Invocation Flow) 以樹狀結構顯示交易中的函式呼叫順序。

每個節點代表一次函式呼叫或事件觸發,並包含呼叫堆疊深度、呼叫類型以及呼叫參數等資訊。模組頂部提供了搜尋框以及呼叫類型與展開的下拉選單,協助使用者解讀交易執行流程。

使用者可以在搜尋框中輸入地址、函式簽章或函式選擇器來搜尋並過濾所需的呼叫流程資訊。下圖顯示了透過 WETH 地址過濾後的結果。

使用者可以使用下拉選單選擇呼叫堆疊深度。下圖顯示了選擇呼叫堆疊深度為 2 後的呼叫流程顯示結果。

程式碼檢視

在分析過程中,可以在程式碼檢視區塊中顯示經過驗證的合約程式碼。我們的程式碼檢視支援與追蹤紀錄 (trace) 搭配的不同版面配置,包括支援獨立的程式碼檢視。

  • 僅追蹤 (Trace Only):僅顯示調用流程(程式碼追蹤紀錄)。

  • 追蹤與程式碼 (左右版面 Trace & Code LR):顯示一個程式碼檢視區域,左側為調用流程,右側為程式碼視圖。當在調用流程中點擊已驗證合約的呼叫時,程式碼視圖的上半部會顯示該合約的原始程式碼,下半部則顯示參數與回傳值。

  • 追蹤與程式碼 (上下版面 Trace & Code TB):與左右版面類似,但追蹤紀錄與程式碼視圖的版面配置改為上下排列。

  • 獨立程式碼視圖 (Separate Code View):程式碼視圖將顯示在獨立的瀏覽器分頁中,可拖曳至另一台顯示器(適合使用多螢幕的使用者)。

此外,使用者可以在右側程式碼視圖的頂部快速切換不同模組。我們也提供了該交易內的原始碼查看歷史記錄,方便查看其他原始程式碼。

自訂設定

Phalcon 支援自訂設定以輔助分析。

自訂高亮

在分析過程中,可以將地址、函式和事件標記為自訂顏色以進行高亮顯示。

自訂標籤

地址、函式和事件可以設定自訂標籤。

自訂函式簽章

針對合約的 calldata,可以提供自訂的函式簽章來解碼該 calldata

交易模擬

模擬自訂交易

若要模擬交易,請點擊 [Simulation] 按鈕,並在交易模擬器面板中填寫必要的資訊。隨後點擊 [Simulate] 按鈕即可在詳情頁面查看模擬結果。您也可以點擊 [Simulation] 按鈕旁邊的圖示來切換網站主題。

模擬現有交易

交易詳情頁面右上角的 [Simulate This Tx] 按鈕,讓使用者可以快速模擬當前交易在不同區塊高度 [BlockNum] 和區塊內位置 [position in the block] 的結果。