BlockSec Phalcon 已升级至 2.0 版本。快来体验 Phalcon,深入探索每一笔交易!
Phalcon 是一款专为 DeFi 社区设计的强大交易浏览器。它提供有关交易调用流、余额变化和资金流的全面数据,并支持交易模拟功能。
Phalcon 旨在帮助开发人员、安全研究人员和交易者直观地理解交易。
本用户指南将向您介绍 Phalcon 的各项特性与功能。为了更好地演示,我们以以太坊上的这笔交易为例。
交易搜索
要搜索交易,请前往 Phalcon Explorer 主页并在搜索框中输入交易哈希。点击搜索结果即可查看交易解析详情页面。
Phalcon 目前支持解析以太坊、币安智能链 (BSC)、Polygon、Cronos 和 Avalanche C-Chain 上的交易。更多链正在适配中。
交易分析
交易结果页面针对每笔交易分为了四个主要模块。
- 基本信息
- 资金流
- 余额变化
- 调用流
- 代码视图(新功能)
基本信息
Basic Info(基本信息)模块显示交易的基本信息,包括执行状态(Status)、发送方(Sender)和接收方(Receiver)。
内部交易数量(Internal transaction count)代表了内部交易的笔数,可用于判断交易的复杂程度。数值越高,交易越复杂。
右上角的 [Simulate This Tx] 按钮允许您快速模拟当前交易在不同区块高度 [BlockNum] 和区块内位置 [position in the block] 下的执行结果(交易模拟将在本节中详细说明)。
资金流
“资金流”(Fund Flow)模块以有向图的形式展示了交易中涉及的代币流转情况。不同的节点代表不同的账户地址,背景颜色用于区分交易的发送方或接收方。
有向边及其标注的信息展示了转账方向、代币种类以及转账金额。
- 边上的不同编号用于区分代币转账的先后顺序。
- 同颜色的边代表同一类代币的转账。
- 两地址间同一代币的同向流转会被合并,在保留代币转账特性的同时简化资金流向图。
该模块还提供了右上角的缩放功能。资金流图表支持下载为 SVG 或 PNG 文件。
余额变化
Balance Changes(余额变化)模块显示了交易执行后,哪些账户的代币余额发生了变动。
- 第一列列出了代币有净流入或流出的地址。
- 第二列列出了代币信息,包括流入或流出地址的代币名称。
- 第三列显示了余额的变化,即代币流入或流出的金额。
- 最后一列显示了交易发生时,每个账户流入或流出的代币价值。

调用流
“调用流”(Invocation Flow)以树状结构展示交易中的函数调用顺序。
每个节点代表一次函数调用或事件触发,并包含调用栈深度、调用类型和调用参数等信息。模块顶部提供了搜索框以及用于调用类型和展开选项的下拉菜单,旨在辅助用户解读交易执行流程。
用户可以通过在搜索框中输入地址、函数签名或函数选择器来搜索并筛选所需的调用流信息。下图展示了通过 WETH 地址过滤后的结果。
用户可以使用下拉菜单选择调用栈深度。下图展示了选择调用栈深度为 2 后的调用流显示效果。
代码视图
在分析过程中,已验证合约的代码可以在代码视图中显示。我们的代码视图支持与追踪流(Trace)联动的不同布局,并支持独立的代码视图窗口。
-
仅显示追踪(Trace Only):仅展示调用流(代码追踪)。
-
追踪与代码联动(左右布局,Trace & Code LR):左侧显示调用流,右侧显示代码视图。当在调用流中点击某个已验证合约的调用时,代码视图的上半部分会显示该合约的源代码,下半部分会显示参数和返回值。
-
追踪与代码联动(上下布局,Trace & Code TB):类似于左右布局,但追踪/代码视图的布局为上下排列而非左右排列。
-
独立代码视图(Separate Code View):代码视图将在独立的浏览器标签页中打开,可移动至其他显示器(适合拥有多屏显示环境的用户)。
此外,用户可以在右侧代码视图顶部快速切换不同模块。系统还提供了该交易内的源代码查看历史记录,方便用户轻松查看其他相关源代码。
自定义功能
Phalcon 支持多种自定义设置,以提升分析效率。
自定义高亮
在分析过程中,可以为地址、函数和事件设置自定义颜色进行高亮显示。

自定义标签
可以为地址、函数和事件设置自定义标签。

自定义函数签名
对于合约的 calldata,可以提供自定义函数签名来解码数据。



交易模拟
模拟自定义交易
要模拟一笔交易,请点击 [Simulation] 按钮,并在“交易模拟器”面板中填写所需信息。点击 [Simulate] 按钮即可在详情页面查看模拟结果。您还可以通过点击 [Simulation] 按钮旁边的图标来切换网站主题。

模拟现有交易
交易详情页面右上角的 [Simulate This Tx] 按钮允许用户快速模拟当前交易在不同区块高度 [BlockNum] 和区块内位置 [position in the block] 下的执行结果。




