メインコンテンツにスキップ

Explorerでトランザクションを読む

このレッスンでは、ブロックチェーンエクスプローラーを使ってトランザクションの詳細を確認する方法を学びます。ブロックチェーン上で何が起きたのかを自分の目で確認できるようになりましょう。

なぜエクスプローラーを使うの?

開発中に「トランザクションが成功したはずなのに期待した動作をしない」ということがよくあります。 エクスプローラーで実際に何が起きたかを確認することで、問題の原因を特定できます。

エクスプローラーとは?

ブロックチェーンエクスプローラー は、ブロックチェーン上のすべてのトランザクション、アドレス、オブジェクトを検索・閲覧できるツールです。

Suiには複数のエクスプローラーがあります:

どちらを使っても基本的な機能は同じですが、本サイトでは Suiscan を使用します

Suiscanを使うと:

  • 自分が送ったトランザクションの詳細を確認できる
  • 他のアドレスの取引履歴を見ることができる
  • スマートコントラクト(Package)の内容を調べられる

前提条件

このレッスンを始める前に、以下が完了していることを確認してください:

  • Sui CLIがインストール済み(sui --version で確認)
  • CLIがDevnetに接続済み(sui client active-envdevnet を返す)
  • Faucetでテスト用SUIを取得済み(sui client gas で残高を確認)— 未取得の場合は L06: テストトークンを取得する を参照

手順

1. Suiscanを開く

以下のリンクからSuiscanにアクセスします。

Suiscan (suiscan.xyz)

2. ネットワークをDevnetに切り替える

画面右上のネットワーク選択から「Devnet」を選択します。

ネットワーク選択1 ネットワーク選択2

ネットワークを必ず確認

Mainnet・Testnet・Devnetはそれぞれ別のブロックチェーンなので、トランザクションを実行したネットワークと一致していないと検索できません。本サイトのレッスンではDevnetを使っているので、ここではDevnetを選びましょう。

3. トランザクションを実行して検索する

実際にトランザクションを実行して、Suiscanで確認してみましょう。

CLIでトランザクションを実行する

実行前にネットワークを確認!

CLIがMainnetに接続されていると、実際のSUIコインがガス代として消費されます。

必ず以下のコマンドでDevnetに接続していることを確認してください:

sui client active-env

devnet と表示されればOKです。もし別のネットワークが表示された場合は、以下で切り替えてください:

sui client switch --env devnet

以下のコマンドを実行します。これはSuiのシステム時計(Clock)から現在時刻を取得するシンプルなトランザクションです。

sui client call \
--package 0x2 \
--module clock \
--function timestamp_ms \
--args 0x6 \
--gas-budget 10000000
コマンドの解説

このコマンドは、Suiの標準ライブラリ(0x2 パッケージ)にある clock モジュールの timestamp_ms 関数を呼び出しています。引数にはClockオブジェクト(0x6)を渡し、ガス代の上限を10,000,000 MIST(= 0.01 SUI)に設定しています。

コマンドを実行すると、以下のような実行結果が表示されます:

Transaction Digest: AbC123xYz...
╭─────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Transaction Data │
├─────────────────────────────────────────────────────────────────────────────────────────────────┤
│ ... │
│ ... │
│ ... │

Transaction Digest がトランザクションの固有IDです。これをコピーして、Suiscanトップページの検索ボックスをクリックし、表示されたモーダルの検索欄に貼り付けて検索すると、トランザクションの詳細ページが開きます。 トランザクション詳細画面

4. トランザクションの詳細を読む

トランザクションを開くと、以下のようなページが表示されます:

トランザクション詳細画面

画面上部には4つのタブがあり、クリックするとページ内の各セクションに移動します:

  • Overview — トランザクションの概要(ステータス、送信者、ガス代など)
  • Inputs — トランザクションに入力されたオブジェクト
  • Transactions — 実行された操作の詳細
  • Changes — トランザクションによる変更内容

Overview では以下の情報が確認できます:

  • (Status) — 緑のチェックマークと「Success」が表示されていれば成功、赤いバツ印と「Failure」が表示されていれば失敗です
  • (Transaction summary) — 実行した操作の概要(例: call function "timestamp_ms" from 0x...002
  • Transaction Type — トランザクションの種類(ProgrammableTransaction など)
  • Digest — トランザクションの固有ID
  • Timestamp — 実行日時
  • Sender — トランザクションを送信したアドレス
  • Total Gas Fee — 実際にかかったガス代(例: 0.00100988 SUI)
  • Gas Budget — 設定した最大ガス上限(例: 0.01 SUI)
  • Gas Payment Object — ガス代の支払いに使用したオブジェクト(通常はSUIコイン)
  • Gas Object Owner — ガス代を支払ったアドレス
  • User Signature — トランザクションの署名(「Show More」で詳細表示)

Inputs では、トランザクションに入力されたオブジェクトが表示されます。今回の例では、Clockオブジェクト(0x6)が入力として使用されています。

Transactions では、実行された操作の詳細が表示されます。MoveCallの場合は呼び出された関数の情報(パッケージ、モジュール、関数名、引数)が確認できます。複数の操作がある場合(PTB)は、実行順に表示されます。

Changes では、トランザクションによって変更されたオブジェクトが表示されます。今回の例では、ガス代の支払いによりSUIコインの残高が変更されています。


成功の確認

以下ができれば、このレッスンは完了です:

  • CLIで timestamp_ms を実行し、Transaction Digestを取得できた
  • SuiscanでTransaction Digestを検索し、トランザクション詳細ページを開けた
  • Overviewでステータスが「Success」であることを確認できた
  • Inputs、Transactions、Changesの各セクションの内容を確認できた

よくあるトラブル

トランザクションが見つからない

  • ネットワーク(Devnet/Testnet/Mainnet)が正しいか確認してください
  • Transaction Digestをコピーする際に余分な空白が入っていないか確認してください
  • トランザクション実行から反映まで数秒かかることがあります

Failedと表示される

  • ガス不足の場合、Faucetで追加のSUIを取得してください
  • エラーメッセージを確認し、何が原因かを特定してください

このレッスンでやったこと

  • Suiscanの基本的な使い方を学んだ
  • ネットワークの切り替え方法を確認した
  • トランザクションの検索方法を学んだ
  • Overview、Input/Output、Gasの読み方を理解した