ホームに戻る
Suiコース
Suiブロックチェーンの基礎からMove言語での開発まで包括的に学習
初
初級
無料で学習
初級基本構文
問題1: バージョン確認
Sui CLIが正しくインストールされているかを確認するために、バージョンを表示するコマンドを学びます。これはSui CLIを使用する際の最初のステップです。`--version`オプションを使用してバージョン情報を表示できます。
インストールはこちらを参照: https://docs.sui.io/guides/developer/getting-started/sui-install
初級基本構文
問題2: ネットワーク環境の一覧表示
Sui CLIで設定されているネットワーク環境を一覧表示するコマンドを学びます。`sui client envs`コマンドを使用して、devnet、testnet、mainnetなどの利用可能な環境を確認できます。アクティブな環境は`*`マークで表示されます。この情報は`~/.sui/sui_config/client.yaml`ファイルにも保存されています。
初級基本構文
問題3: 新しいネットワーク環境の追加
Sui CLIに新しいネットワーク環境を追加する方法を学びます。`sui client new-env`コマンドを使用して、mainnet、testnet、devnetなどの環境を追加できます。`--alias`オプションで環境名を設定し、`--rpc`オプションでRPCエンドポイントを指定します。設定は`~/.sui/sui_config/client.yaml`ファイルに保存されます。
初級基本構文
問題4: ネットワーク環境の切り替え
Sui CLIで現在のネットワーク環境を切り替える方法を学びます。`sui client switch`コマンドを使用して、mainnet、testnet、devnetなどの環境間で切り替えができます。`--env`オプションで切り替え先の環境を指定します。切り替え後は`sui client envs`でアクティブな環境にアスタリスク(*)が表示されることを確認できます。
初級基本構文
問題5: 新しいキーペアの生成
Sui CLIで新しいキーペアを生成する方法を学びます。`sui keytool generate`コマンドを使用して、ed25519スキームで暗号化キーペアを作成できます。生成されたキーペアにはSuiアドレス、公開鍵、秘密鍵、ニーモニックフレーズが含まれます。キーペアファイルは現在のディレクトリにアドレス名で保存されます。
⚠️ **重要**: ニーモニックフレーズは決して他人に見せてはいけません。この情報があれば誰でもあなたのウォレットにアクセスできてしまいます。安全な場所に保管してください。
初級基本構文
問題6: 既存のキーペア一覧表示
Sui CLIでローカルウォレットに保存されている既存のキーペアを一覧表示する方法を学びます。`sui keytool list`コマンドを使用して、`~/.sui/sui_config/sui.keystore`ファイルに存在するすべてのSuiアドレスを読みやすい形式で出力できます。各キーペアのアドレス、公開鍵、キースキーム、フラグ、ピアIDが表示されます。
初級基本構文
問題7: 特定のキーファイルの詳細表示
Sui CLIで特定のキーペアファイルからキーペアデータを表示する方法を学びます。`sui keytool show [filename]`コマンドを使用して、ファイルに保存されているキーペアデータの詳細情報を確認できます。キーファイルは`generate`コマンドで作成され、アドレス名.keyの形式で保存されます。
初級基本構文
問題8: アクティブアドレスの確認
Sui CLIで現在のアクティブアドレスを確認する方法を学びます。`sui client active-address`コマンドを使用して、現在設定されているアクティブなアドレスを表示できます。CLIはアドレス固有のコマンド(`sui client objects`や`sui client gas`など)を実行する際に、アドレスが指定されていない場合、このアクティブアドレスを使用します。
初級基本構文
問題9: ガス残高の確認
Sui CLIでガス残高を確認する方法を学びます。`sui client gas`コマンドを使用して、アドレスが所有するすべてのガスオブジェクトを取得できます。ガス残高はMIST(最小単位)とSUI(基本単位)の両方で表示されます。アドレスを指定しない場合はアクティブアドレスのガス残高が表示され、特定のアドレスやエイリアスを指定することも可能です。
初級基本構文
問題10: 特定アドレスのガス残高確認
Sui CLIで特定のアドレスのガス残高を確認する方法を学びます。`sui client gas`コマンドにアドレスを指定することで、アクティブアドレス以外の任意のアドレスのガス残高を確認できます。これはウォレット管理や複数アドレスの残高監視に便利です。64文字の16進数アドレス(0xプレフィックス付き)を指定します。
初級基本構文
問題11: Faucetからテストコインを取得
Sui CLIでFaucetからテストコインを取得する方法を学びます。`sui client faucet`コマンドを使用して、開発やテスト用のSUIトークンを無料で取得できます。標準の公開RPC(devnet、testnetなど)を使用している場合、このコマンドでガスコインをリクエストできます。カスタムFaucetサービスを使用する場合は`--url`オプションでFaucet URLを指定します。
初級オブジェクト管理
問題12: アドレス所有のオブジェクト一覧取得
Sui CLIでアドレスが所有するオブジェクトの一覧を取得する方法を学びます。`sui client objects`コマンドを使用して、特定のアドレスまたはアクティブアドレスが所有するすべてのオブジェクトの概要情報を表示できます。各オブジェクトにはオブジェクトID、バージョン、ダイジェスト、オブジェクト型が表示されます。
初級オブジェクト管理
問題13: 特定オブジェクトの詳細情報取得
Sui CLIで特定のオブジェクトの詳細情報を取得する方法を学びます。`sui client object`コマンドにオブジェクトIDを指定することで、そのオブジェクトの完全な情報を表示できます。オブジェクトID、バージョン、ダイジェスト、型、所有者タイプ、前のトランザクション、ストレージリベート、コンテンツなどの詳細情報が含まれます。
初級オブジェクト管理
問題14: ダイナミックフィールドの取得
Sui CLIでオブジェクトのダイナミックフィールドを取得する方法を学びます。`sui client dynamic-field`コマンドにオブジェクトIDを指定することで、ダイナミックフィールドの詳細をリストアップできます。ダイナミックフィールドは実行時に追加・削除可能なフィールドで、柔軟なデータ構造を提供します。
初級トランザクションと送金
問題15: コインの分割
Sui CLIを使用してコインを複数のコインに分割する方法を学びます。`sui client split-coin`コマンドを使用してコインを小さな金額に分割できます。これはトランザクションのための正確な金額を準備したり、複数のコインオブジェクトでSUI残高を管理する際に便利です。
初級トランザクションと送金
問題16: コインのマージ
Sui CLIを使用して複数のコインを1つにマージする方法を学びます。`sui client merge-coin`コマンドを使用してコインを結合できます。これは残高を少数のコインオブジェクトに統合する際に便利で、トランザクションの複雑さとガスコストを削減できます。
初級トランザクションと送金
問題17: SUI送付(指定金額)
Sui CLIを使用して指定金額のSUIを他のアドレスに送付する方法を学びます。`sui client pay-sui`コマンドを使用してSUIコインを転送します。pay-suiコマンドは自動的にガススマッシングを処理し、複数の受信者への送付も可能です。これはSuiネットワーク上でアドレス間の資金移動に不可欠です。
初級トランザクションと送金
問題18: 全額送付
Sui CLIを使用してSUIコインの全残高を他のアドレスに送付する方法を学びます。`sui client pay-all-sui`コマンドを使用してスマッシング後の全SUiを転送します。これはpay-suiの特殊なケースで、ガス料金を差し引いた全残高を転送します。アドレスを完全に空にしたい場合に便利です。
中
中級
無料で学習
中級Move開発
問題19: 新しいMoveパッケージの作成
Sui CLIを使用して新しいMoveパッケージを作成する方法を学びます。`sui move new`コマンドは、指定された名前で空のMoveパッケージを作成します。このコマンドは、sourcesディレクトリとMove.tomlマニフェストファイルを含むスケルトンMoveプロジェクトのディレクトリを作成します。
中級Move開発
問題20: Move.tomlマニフェストの構造
Move.tomlマニフェストファイルの構造について学びます。このファイルには、パッケージのメタデータ、依存関係、およびMoveパッケージで使用されるアドレスが含まれています。各セクションを理解することは、Moveプロジェクトを管理する上で不可欠です。
中級Move開発
問題21: Moveモジュールのインポート
Moveモジュールのインポートについて学びます。これらのuse文により、モジュールは他のモジュールの型や関数を参照できます。Sui Moveでは、コンパイラがobject、transfer、tx_contextなどのよく使用されるインポートをデフォルトで提供するため、明示的なインポートは多くの場合不要です。
中級Move開発
問題 22: 構造体のアビリティ
Moveにおける構造体のアビリティについて学びます。アビリティは構造体インスタンスに対して実行できる操作を定義します。'key'アビリティは構造体を所有・転送可能なSuiオブジェクトとして使用できるようにします。'store'アビリティは構造体を他の構造体内に格納したり、自由に転送したりできるようにします。
中級Move開発
問題 23: モジュール初期化関数
Moveにおけるモジュール初期化関数について学びます。init関数は、モジュールが公開されたときに一度だけ呼び出される特別な関数です。モジュール公開者に初期オブジェクトを作成して転送するためによく使用されます。
中級Move開発
問題 24: アクセサ関数
Moveにおけるアクセサ関数について学びます。これらの関数を使用すると、他のモジュールがあなたのモジュールの構造体フィールドを読み取ることができます。構造体フィールドはデフォルトでプライベートなので、アクセサ関数は特定のフィールドへの読み取り専用アクセスを制御された方法で提供します。