BlockSec Phalcon был обновлен до версии 2.0. Летайте вместе с Phalcon и погружайтесь в транзакции!
Phalcon — это мощный обозреватель транзакций, разработанный для DeFi-сообщества. Он предоставляет исчерпывающие данные о потоке вызовов, изменениях баланса и движении средств для транзакций. Также поддерживается имитация (симуляция) транзакций.
Phalcon призван помочь разработчикам, исследователям безопасности и трейдерам интуитивно понимать суть транзакций.
Это руководство пользователя познакомит вас с различными функциями и возможностями Phalcon. Для наглядности мы будем использовать эту транзакцию в сети Ethereum в качестве примера.
Поиск транзакций
Чтобы найти транзакцию, перейдите на главную страницу Phalcon Explorer и введите хеш транзакции в строку поиска. Нажмите на результат, чтобы просмотреть страницу с подробным анализом транзакции.
В настоящее время 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).
Количество внутренних транзакций указывает на их объем, что может быть использовано для определения сложности транзакции. Чем выше значение, тем сложнее транзакция.
Кнопка [Simulate This Tx] в правом верхнем углу позволяет быстро имитировать результаты текущей транзакции при различных номерах блока [BlockNum] и позициях [position in the block] (симуляция транзакций будет объяснена в этом разделе).
Движение средств
Модуль «Движение средств» иллюстрирует поток токенов, участвующих в транзакции, в виде направленного графа. Разные узлы представляют собой разные адреса аккаунтов, а фоновый цвет позволяет отличить узлы, представляющие отправителя или получателя транзакции.
Направленные ребра и информация на них показывают направление перевода, токен и количество переведенных токенов.
- Разные порядковые номера на ребрах используются для различения хронологического порядка переводов токенов.
- Ребра одного цвета указывают на переводы одного и того же токена.
- Одинаковые направленные потоки одного и того же токена между двумя адресами объединяются, чтобы упростить карту движения средств транзакции, сохраняя при этом характеристики перевода токенов.
Модуль также предоставляет возможность масштабирования диаграммы потока (кнопки в правом верхнем углу). График движения средств можно загрузить в виде файла SVG или PNG.
Изменения баланса
Модуль Balance Changes показывает аккаунты, баланс токенов которых изменился после выполнения транзакции.
- В первом столбце перечислены адреса с чистым притоком или оттоком токенов.
- Во втором столбце указана информация о токене, включая названия токенов, которые поступают на адрес или списываются с него.
- В третьем столбце показано изменение баланса, то есть сумма поступления или списания токенов.
- В последнем столбце показана стоимость количества токенов, поступивших или списанных с каждого счета на момент совершения транзакции.

Поток вызовов
«Поток вызовов» отображает последовательность вызовов функций в транзакции в виде древовидной структуры.
Каждый узел представляет собой вызов функции или триггер события и включает такую информацию, как глубина стека вызовов, тип вызова и параметры вызова. В верхней части модуля предусмотрены окно поиска и выпадающее меню для типов вызовов и управления раскрытием списка, чтобы помочь пользователям интерпретировать поток выполнения транзакции.
Пользователи могут искать и фильтровать нужную информацию о потоке вызовов, вводя адрес, сигнатуру функции или селектор функции в поле поиска. На следующем рисунке показан результат фильтрации по адресу WETH.
Глубину стека вызовов можно выбрать с помощью выпадающего меню. На следующем рисунке показано отображение потока вызовов после выбора глубины стека 2.
Просмотр кода
Во время анализа код верифицированного контракта может быть отображен во вкладке «Просмотр кода» (Code View). Наш просмотр кода поддерживает различные макеты вместе с трассировкой, включая возможность отдельного окна просмотра кода.
-
Только трассировка (Trace Only): отображается только поток вызовов (трассировка кода).
-
Трассировка и код (LR): отображается код, причем поток вызовов находится слева, а просмотр кода — справа. Когда в потоке вызовов нажимается вызов верифицированного контракта, в верхней части окна кода отображается исходный код этого контракта. В нижней части окна отображаются параметры и возвращаемые значения.
-
Трассировка и код (TB): аналогично предыдущему, но макет расположен сверху вниз, а не слева направо.
-
Отдельное окно кода (Separate Code View): Просмотр кода открывается в отдельной вкладке браузера, которую можно переместить на другой монитор (удобно для пользователей с несколькими дисплеями).
Кроме того, пользователи могут быстро переключаться между различными модулями в верхней части окна кода справа. Предоставляется история просмотра исходного кода в рамках транзакции, чтобы можно было легко вернуться к другим исходным кодам.
Настройка
Phalcon поддерживает настройки для облегчения анализа.
Пользовательская подсветка
Во время анализа адрес, функцию и событие можно выделить цветом.

Пользовательские метки
Для адресов, функций и событий можно установить пользовательские метки.

Пользовательская сигнатура функции
Для calldata контракта можно предоставить пользовательскую сигнатуру функции, чтобы декодировать эти данные.



Симуляция транзакций
Симуляция пользовательской транзакции
Чтобы имитировать транзакцию, нажмите кнопку [Simulation] и заполните необходимую информацию в панели симулятора. Затем нажмите кнопку [Simulate], чтобы просмотреть результаты симуляции на странице подробностей. Вы также можете изменить тему сайта, нажав на иконку рядом с кнопкой [Simulation].

Симуляция существующей транзакции
Кнопка [Simulate This Tx] в правом верхнем углу страницы деталей транзакции позволяет пользователю быстро имитировать результаты текущей транзакции при различных номерах блока [BlockNum] и позициях [position in the block].




