Back to Blog

Как освоить анализ транзакций DeFi с помощью Phalcon Explorer 2.0

Phalcon Explorer
January 5, 2023
5 min read

BlockSec Phalcon обновлён до версии 2.0. Летите с Phalcon и погружайтесь в транзакции!

Phalcon — это мощный проводник транзакций, разработанный для сообщества DeFi. Он предоставляет исчерпывающие данные о потоке вызовов, изменениях баланса и движении средств по транзакциям. Также поддерживается симуляция транзакций.

Phalcon призван помочь разработчикам, исследователям безопасности и трейдерам интуитивно понимать транзакции.

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

Поиск транзакций

Чтобы найти транзакцию, перейдите на главную страницу Phalcon Explorer и введите хэш транзакции в строку поиска. Нажмите на результат, чтобы просмотреть страницу с подробностями разбора транзакции.

В настоящее время Phalcon поддерживает анализ транзакций в сетях Ethereum, Binance Smart Chain, Polygon, Cronos и Avalanche C-Chain. Поддержка новых сетей появится в ближайшее время.

Анализ транзакций

Страница результатов транзакции разделена на четыре основных модуля.

  • Основная информация
  • Изменения баланса
  • Поток средств
  • Изменения состояния
  • Профилировщик газа
  • Поток вызовов
  • Просмотр кода (Новое)

Основная информация

Модуль Основная информация отображает базовые сведения о транзакции, включая статус выполнения (Status), отправителя (Sender) и получателя (Receiver).

Количество внутренних транзакций указывает на число внутренних транзакций и может использоваться для определения сложности транзакции. Чем выше значение, тем сложнее транзакция.

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

Поток средств

Модуль «Поток средств» отображает движение токенов, задействованных в транзакции, в виде ориентированного графа. Различные узлы представляют разные адреса аккаунтов, а разный цвет фона выделяет узлы, представляющие отправителя или получателя транзакции.

Ориентированное ребро и информация на нём показывают направление перевода, токен и количество переведённых токенов.

  • Различные порядковые номера на рёбрах используются для обозначения хронологического порядка переводов токенов.
  • Рёбра одного цвета обозначают переводы одного и того же токена.
  • Одинаковые направленные потоки одного токена между двумя адресами объединяются для упрощения карты движения средств транзакции с сохранением характеристик перевода токенов.

Модуль также предоставляет возможность масштабирования схемы потоков в правом верхнем углу. Граф потока средств можно скачать в формате SVG или PNG.

Изменения баланса

Модуль Изменения баланса показывает аккаунты, у которых изменился баланс токенов после выполнения транзакции.

  • В первом столбце перечислены адреса с нетто-притоком или оттоком токенов.
  • Второй столбец содержит информацию о токенах, включая названия токенов, поступающих или исходящих с адреса.
  • В третьем столбце показано изменение баланса, то есть сумма притока или оттока токенов.
  • Последний столбец отображает стоимость количества токенов, поступающих или исходящих с каждого аккаунта, на момент совершения транзакции.

Поток вызовов

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

Каждый узел представляет вызов функции или триггер события и включает такую информацию, как глубина стека вызовов, тип вызова и параметры вызова. В верхней части модуля предусмотрены строка поиска и раскрывающийся список для выбора типа вызова и уровня раскрытия, помогающие пользователям интерпретировать поток выполнения транзакции.

Пользователи могут искать и фильтровать нужную информацию о потоке вызовов, вводя адрес, сигнатуру функции или селектор функции в строку поиска. На следующем рисунке показан результат фильтрации по адресу WETH.

Глубину стека вызовов пользователь может выбрать с помощью раскрывающегося списка. На следующем рисунке показан поток вызовов после выбора глубины стека вызовов равной 2.

Просмотр кода

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

  • Только трассировка: отображается только поток вызовов (трассировка кода)

  • Трассировка и код (Л/П): отображается просмотр кода, при этом поток вызовов находится слева, а просмотр кода — справа. При нажатии на вызов верифицированного контракта в потоке вызовов верхняя часть просмотра кода содержит исходный код выбранного контракта. Нижняя часть просмотра кода показывает параметры и возвращаемые значения.

  • Трассировка и код (В/Н): аналогично режиму «Трассировка и код (Л/П)», но расположение трассировки и просмотра кода — сверху вниз, а не слева направо.

  • Отдельный просмотр кода: просмотр кода открывается в отдельной вкладке браузера, которую можно перенести на другой монитор (удобно для пользователей с несколькими дисплеями.)

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

Настройка

Phalcon поддерживает настройки для удобства анализа.

Пользовательская подсветка

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

Пользовательская метка

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

Пользовательская сигнатура функции

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

Симуляция транзакций

Симуляция произвольной транзакции

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

Симуляция существующей транзакции

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

Visualize Transactions With Phalcon Explorer

Use the Most Trusted Multi-Chain Explorer. Dive into Transactions to Act Wisely.

Phalcon Explorer