Sui CLI の基本的な使い方 - プロジェクト作成からデプロイまで
一気にわかる!Sui CLI の基本コマンド 〈アドレス&ネットワーク編を追加〉
0. おさらい:Sui CLI インストール
推奨方法:Suiup を使ったインストール
# 1. Suiup をインストール(macOS/Linux)
curl -sSfL https://raw.githubusercontent.com/Mystenlabs/suiup/main/install.sh | sh
# Windowsの場合は過去記事を参照ください。
# 2. Sui CLI をインストール
suiup install sui@testnet
# 3. バージョン確認
sui --version
1. プロジェクト雛形を作る
Moveコントラクトを書き始めるときは最初に必ずこのコマンドを実行します。
sui move new hello_sui
cd hello_sui
Move.toml と sources/ フォルダが自動生成されます。
2. ウォレット操作 & アドレス管理
2‑1. アドレス一覧とアクティブ確認
sui client addresses # すべて一覧
sui client active-address # 現在アクティブなアドレス
active-address で今どの鍵を使っているか一目で分かるのが超便利。([Sui ドキュメント][3], [Peera][4])
2‑2. 新規アドレス作成・インポート・エクスポート
sui client new-address ed25519
sui keytool import "<12語ニーモニック>" ed25519
sui keytool export --key-identity <ADDRESSまたはALIAS>
ADDRESSまたはALIASについて
ADRESSは0x...で始まるウォレットアドレスそのものです。
ALIASは0x...に名前を付けたもので、生成時に自動で名付けられますし、後で自分のわかりやすい名前に変更することもできます。
秘密鍵の相互利用について
Sui CLI で管理している秘密鍵(PrivateKey)は、GUI ウォレット(Slushウォレット 等)との間でインポート・エクスポートが可能です:
- CLI → GUI:
sui keytool exportでエクスポートした秘密鍵を GUI ウォレットにインポート - GUI → CLI:GUI ウォレットからエクスポートした秘密鍵を
sui keytool importで CLI に追加
これにより同じアドレスを CLI と GUI の両方で使い分けできます。
2‑3. アクティブアドレスの確認と変更
現在のアクティブアドレスを確認:
# 全アドレス一覧(アクティブには*印)
sui client addresses
アクティブアドレスを変更:
sui client switch --address <ADDRESSまたはALIAS>
デプロイ前に必ず「どのアドレスで署名するか」を確認しましょう!
アクティブになっているアドレスで署名することになります。
3. コードを書いたら Build !
# コンパイル!
sui move build
Move コントラクトにミスがあると build に失敗してエラーが返ってきます。
エラーメッセージを確認してコードを修正し、エラーが無くなるまで sui move build を繰り返し実行することになります。
4. ネットワーク切り替え(mainnet / devnet / testnet)
| コマンド | 目的 |
|---|---|
sui client envs |
登録済みネットワーク一覧を表示 |
sui client switch --env mainnet |
mainnet へ切り替え |
sui client switch --env devnet |
devnet へ切り替え |
sui client switch --env testnet |
testnet へ切り替え |
実行後は envs のテーブルで * 印 が付いている行が現在の環境。
開発時は devnet → testnet → mainnet の順でステップアップすると安全&リーズナブルです。
Gas の補給(Faucet の使い方)
Faucet とは?
テスト用ネットワーク(DevnetやTestnet)で使える無料のSUIトークンを配布するサービスです。デプロイやトランザクションには Gas(手数料)が必要なため、開発・テスト用として利用します。取得方法:
- Devnet:
sui client faucetコマンド- Testnet:https://faucet.sui.io/ にアクセスして取得
取得量と制限:
- Devnet:
sui client faucetで 10 SUI、1日数回まで- Testnet:Web faucet(https://faucet.sui.io/)で 1 SUI、レート制限あり
これらは テスト用のトークン で金銭的価値はありません。安心してテストに使用できます!
5. Publish(デプロイ)
sui client publish --gas-budget 5000000
--env を省略すると 現在の環境(testnetとか) にデプロイされます。切り替え忘れ注意!
6. つまづき Q&A
| 悩み | 解決策 |
|---|---|
| アドレスを間違えてデプロイ… |
sui client switch --address で正しい鍵に切り替えて再デプロイ |
| ネットワークを間違えた! |
sui client switch --env <env> で環境変更後に再 Publish |
| Gas 不足で失敗 |
--gas-budget 増額 or faucet で補給 |
7. コマンド早見表
# プロジェクト雛形作成
sui move new <project_name>
# ビルド
sui move build
# テスト
sui move test
# 全アドレス一覧
sui client addresses
# アクティブアドレス確認
sui client active-address
# アクティブアドレス変更
sui client switch --address <ADDRESS_または_ALIAS>
# 新規アドレス作成
sui client new-address ed25519
# 秘密鍵インポート
sui keytool import <mnemonic>
# 秘密鍵エクスポート
sui keytool export --key-identity <ADDRESS_または_ALIAS>
# ネットワーク一覧
sui client envs
# devnetに切り替え
sui client switch --env devnet
# testnetに切り替え
sui client switch --env testnet
# mainnetに切り替え
sui client switch --env mainnet
# デプロイ
sui client publish --gas-budget 5000000
Discussion