BlockSec Phalconが2.0にアップデートされました。Phalconで、トランザクションを深く掘り下げてみましょう!
PhalconはDeFiコミュニティのために設計された強力なトランザクションエクスプローラーです。トランザクションの呼び出しフロー、残高変更、資金フローに関する包括的なデータを提供します。トランザクションシミュレーションもサポートしています。
Phalconは、開発者、セキュリティ研究者、トレーダーがトランザクションを直感的に理解できるよう支援することを目指しています。
このユーザーズガイドでは、Phalconの様々な機能を紹介します。説明をわかりやすくするため、Ethereum上のこのトランザクションを例として使用します。
トランザクション検索
トランザクションを検索するには、Phalcon Explorerホームページにアクセスし、検索ボックスにトランザクションハッシュを入力します。結果をクリックすると、トランザクション解析詳細ページが表示されます。
Phalconは現在、Ethereum、Binance Smart Chain、Polygon、Cronos、Avalanche C-Chainのトランザクション解析をサポートしています。今後、さらに多くのチェーンをサポート予定です。

トランザクション解析
トランザクションの結果ページは、トランザクションごとに4つの主要モジュールに分かれています。
- 基本情報
- 資金フロー
- 残高変更
- 呼び出しフロー
- コードビュー(新規)
基本情報
基本情報モジュールには、実行ステータス(Status)、送信者(Sender)、受信者(Receiver)など、トランザクションの基本情報が表示されます。
内部トランザクション数は、トランザクションの複雑さを判断するために使用できる内部トランザクションの数を表します。値が高いほど、トランザクションは複雑になります。
右上にある[Simulate This Tx]ボタンを使用すると、現在のトランザクションの結果を異なるブロック番号[BlockNum]および位置[position in the block]で迅速にシミュレーションできます(トランザクションシミュレーションはこのセクションで説明します)。

資金フロー
資金フローモジュールは、トランザクションに関与するトークンのフローを、有向グラフとして表示します。異なるノードは異なるアカウントアドレスを表し、背景色でトランザクションの送信者または受信者を表すノードを区別します。
有向エッジとその上の情報は、転送方向、トークン、および転送されたトークン数を示します。
- エッジ上の異なる連番は、トークン転送の時系列順を区別するために使用されます。
- 同じ色のエッジは、同じトークンの転送を識別します。
- 2つのアドレス間の同じトークンの同じ方向のフローは、トークン転送の特性を維持しながら、トランザクションの資金フローマップを簡略化するためにマージされます。
このモジュールでは、右上隅のフローチャートのズームイン・ズームアウト機能も提供しています。資金フローグラフはSVGまたはPNGファイルとしてダウンロードできます。

残高変更
残高変更モジュールは、トランザクション実行後にトークン残高に変更があったアカウントを示します。
- 最初の列には、トークンの純粋な流入または流出があったアドレスがリストされます。
- 2番目の列には、アドレスとの間で流入または流出したトークンの名前を含むトークン情報がリストされます。
- 3番目の列は、残高の変更、つまりトークンの流入または流出額を示します。
- 最後の列は、トランザクションが発生した時点での各アカウントへのトークンの流入または流出額を示します。

呼び出しフロー
呼び出しフローは、トランザクション内の関数呼び出しのシーケンスをツリー構造で表示します。
各ノードは関数呼び出しまたはイベントトリガーを表し、呼び出しスタックの深さ、呼び出しタイプ、呼び出しパラメータなどの情報が含まれます。モジュールの最上部には、ユーザーがトランザクション実行フローを理解するのに役立つ検索ボックスと、呼び出しタイプおよび展開のドロップダウン選択ボックスが用意されています。

ユーザーは、検索ボックスにアドレス、関数シグネチャ、または関数セレクターを入力することで、目的の呼び出しフロー情報を検索およびフィルタリングできます。次の図は、WETHアドレスでフィルタリングした結果を示しています。

呼び出しスタックの深さは、ドロップダウン選択ボックスを使用してユーザーが選択できます。次の図は、呼び出しスタックの深さを2に選択した後の呼び出しフロー表示を示しています。

コードビュー
解析中、検証済みのコントラクトのコードをコードビューに表示できます。当社のコードビューは、トレースを含むさまざまなレイアウトをサポートしており、個別のコードビューもサポートしています。

- Trace Only:呼び出しフロー(コードトレース)のみを表示します。
- Trace & Code (LR):コードビューが表示され、呼び出しフローが左側に、コードビューが右側に表示されます。呼び出しフローで検証済みコントラクトの呼び出しをクリックすると、コードビューの上部にはクリックされたコントラクトのソースコードが表示されます。コードビューの下部には、パラメータと戻り値が表示されます。



- Trace & Code (TB):Trace & Code (LR) と似ていますが、トレース/コードビューのレイアウトが左右ではなく上下になります。
- Separate Code View:コードビューは別のブラウザタブに表示され、別のモニターに移動できます(マルチモニターユーザーに便利です)。
さらに、ユーザーはコードビューの右側上部でモジュール間を素早く切り替えることができます。トランザクション内でのソースコード表示履歴が提供されているため、他のソースコードを簡単に表示できます。



カスタマイズ
Phalconは、分析を容易にするためのカスタマイズをサポートしています。
カスタムハイライト
分析中、アドレス、関数、イベントをカスタムカラーでハイライトできます。

カスタムラベル
アドレス、関数、イベントにカスタムラベルを設定できます。

カスタム関数シグネチャ
コントラクトのcalldataに対して、カスタム関数シグネチャを提供することで、calldataをデコードできます。



トランザクションシミュレーション
カスタムトランザクションのシミュレーション
トランザクションをシミュレートするには、[Simulation]ボタンをクリックし、トランザクションシミュレーターパネルに必要な情報を入力します。次に、[Simulate]ボタンをクリックして、詳細ページでシミュレーション結果を表示します。[Simulation]ボタンの隣のアイコンをクリックして、ウェブサイトのテーマを変更することもできます。


既存のトランザクションのシミュレーション
トランザクション詳細ページの右上にある[Simulate This Tx]ボタンを使用すると、ユーザーは現在のトランザクションの結果を、異なるブロック番号[BlockNum]および位置[position in the block]で迅速にシミュレーションできます。





