CLIで送金する
このレッスンでは、Sui CLIを使って別のアドレスにSUIトークンを送金する方法を学びます。これはブロックチェーンの最も基本的な操作の一つです。コマンド1つで送金できるので、難しくありません!
ウォレットは使いやすいインターフェースを提供しますが、CLIでの送金を理解すると:
- スクリプトでトランザクションを自動化できる
- アプリケーションのテストやデバッグができる
- トランザクションの構造を深く理解できる
前提条件
このレッスンを始める前に、以下が完了していることを確認してください:
- Sui CLIがインストール済み(
sui --versionで確認)— Sui CLIをインストール - CLIがDevnetに接続済み(
sui client active-envがdevnetを返す)— CLIをDevnetに接続 - Faucetでテスト用SUIを取得済み(
sui client gasで残高を確認)— テストトークンを取得する
手順
1. 現在のアドレスと残高を確認する
まず、現在のアドレスとSUIの残高を確認しましょう。
sui client active-address
以下のようにアドレスが表示されます:
0x1234abcd...
次に残高を確認します:
sui client gas
以下のような出力が表示されます:
╭────────────────────────────────────────────────────────────────────┬────────────────────┬──────────────────╮
│ gasCoinId │ mistBalance (MIST) │ suiBalance (SUI) │
├────────────────────────────────────────────────────────────────────┼────────────────────┼──────────────────┤
│ 0xabcd1234... │ 1000000000 │ 1.00 │
╰────────────────────────────────────────────────────────────────────┴────────────────────┴──────────────────╯
1 SUI = 1,000,000,000 MIST(10億MIST)です。MISTはSUIの最小単位で、ビットコインにおけるsatoshiのようなものです。
2. 送金先のアドレスを確認する
送金先として、Slushウォレットをインストール で作成したSlushウォレットのアドレスを使います。
CLIのアドレス(CLIをDevnetに接続 で生成)とSlushで最初に作成したアドレスは別のアドレスです。今回はCLIアドレスからSlushウォレットアドレスへSUIを送金します。
Slushウォレットのアドレスを確認する方法:
- ブラウザ拡張機能のSlushを開く
- 右下のユーザーアイコン①をクリックし、「Manage all」②を選択
- Slushウォレットをインストールで作成したアカウントに切り替える(CLIをDevnetに接続でインポートしたCLIアカウントではない方)
- アドレス(
0x...)をコピーする

Slushに複数のアカウントがある場合、右下のユーザーアイコンからアカウントを切り替えられます。テストトークンを取得するでFaucetからSUIを受け取ったアカウント(CLIアドレス)は残高がありますが、Slushウォレットをインストールで最初に作ったアカウントは残高が0のはずです。
3. PTBでSUIを送金する
それでは、SUIを送金しましょう!<RECIPIENT_ADDRESS> を送金先のアドレスに置き換えてください:
sui client ptb \
--split-coins gas "[1000000000]" \
--assign coins \
--transfer-objects "[coins]" @<RECIPIENT_ADDRESS> \
--gas-budget 10000000
--split-coins gas "[1000000000]": ガスコイン(SUI)から1000000000 MIST(= 1 SUI)を分割します。gasキーワードを使うと、CLIが自動で使用するコインを選んでくれます--assign coins: 分割したコインをcoinsという変数に代入します--transfer-objects "[coins]" @<ADDRESS>:coinsを指定したアドレスに送金します(アドレスの前に@が必要です。<>は付けずに実際のアドレスに置き換えてください)--gas-budget: ガス代の上限(MIST単位)。実際に使った分だけ消費され、残りは戻ってきます(例:10000000 MIST = 0.01 SUI)
PTBはSuiの強力な機能で、複数の操作を1つのトランザクションにまとめて実行できます。今回は「コインを分割 → 送金」という2つの操作を1回のトランザクションで行っています。
コマンドを実行すると、以下のような詳細な出力が表示されます:
Transaction Digest: AbC123xYz...
╭─────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Transaction Data │
├─────────────────────────────────────────────────────────────────────────────────────────────────┤
│ Sender: 0x1234abcd... │
│ ... │
Transaction Digest がトランザクションの固有IDです。これをコピーしておきましょう!
4. トランザクションを確認する
トランザクションが成功したことを確認しましょう。
Explorerで確認
Suiscanでも確認できます:
- Suiscan (Devnet) にアクセス
- Devnet になっていることを確認
- 検索ボックスにTransaction Digestを貼り付け
- トランザクションが「Success」と表示されていることを確認

Explorerでのトランザクションの読み方について詳しくは、Explorerでトランザクションを読む を参照してください。
PTB Builderで確認
PTB Builder のViewer機能を使うと、トランザクションの内容を視覚的に確認できます:
- PTB Builder(ptb.wal.app) にアクセス
- ネットワークを DEVNET に設定し、「Connect Wallet」でSlushを接続
- 「Viewer」を選択
- 検索ボックスにTransaction Digestを貼り付け
- トランザクションの構造(SplitCoins → TransferObjects)が視覚的に表示される

PTB Builderの詳しい使い方は、ウォレットをPTB Builderに接続する を参照してください。
5. 残高の変化を確認する
最後に、両方のアドレスの残高を確認して送金を確認します。
CLIアドレス(送金元)の残高:
sui client gas
送金前よりも残高が減っていることを確認しましょう(送金額 + ガス代の分だけ減ります)。
Slushウォレットアドレス(送金先)の残高:
Slushを開いて、Slushウォレットをインストールで作成したアカウントに切り替えると、送金したSUIが反映されているはずです。

Devnetでは通常数秒で反映されますが、まれに少し時間がかかることがあります。Slushの画面をリロードしてみてください。
成功の確認
以下ができれば、このレッスンは完了です:
sui client ptbで送金を正常に実行できたTransaction Digestを取得できたExplorer(Suiscan)/PTB Builderでトランザクションのステータスを確認できた- 送金元と送金先の両方で残高の変化を確認できた
よくあるトラブル
"Insufficient gas" エラー
アカウントにガス代を支払うのに十分なSUIがありません。Faucetから追加のトークンを取得してください。
"Invalid address" エラー
- 送金先アドレスが正しいか確認してください(
0xで始まる必要があります) - 余分なスペースや文字が含まれていないか確認してください
トランザクションが "Failed" と表示される
- トランザクション詳細でエラーメッセージを確認してください
このレッスンでやったこと
- CLIでアドレスと残高を確認する方法を学んだ
- PTB(
sui client ptb)でSUIを送金する方法を学んだ - MISTとSUIの関係を理解した
- CLIとExplorerでトランザクションを確認した