Skip to main content

dfx canister

dfx canister コマンドとフラグおよびサブコマンドを使用して Canister の操作と {platform} またはローカルの Canister 実行環境との対話を管理します。 ほとんどの場合、プログラムをコンパイルした後に dfx canister サブコマンドを使用して Canister のライフサイクルを管理し、プログラムの関数を呼び出すなどの重要なタスクを実行します。

dfx canister コマンドを実行するための基本的な構文は以下の通りです:

dfx canister [subcommand] [flag]

指定する dfx canister サブコマンドによっては、追加の引数、オプション、およびフラグが適用され、または必要になる場合があります。 特定の dfx canister サブコマンドの使用情報を表示するにはそのサブコマンドと --help フラグを指定します。 例えば dfx canister call の利用情報を見るには以下のコマンドを実行します:

dfx canister call --help

dfx canister コマンドを使用する際の利用情報および例を参考にして、適切なコマンドを選択してください。

コマンド説明
callデプロイされた Canister で指定されたメソッドを呼び出します。
create{platform} またはローカルの Canister 実行環境に Canister ID を登録することで、新しい「空」の Canister を作成します。
delete現在停止している Canister を削除します。
deposit-cycles指定された Canister に Cycle をデポジットします。
help指定されたサブコマンドの利用情報を表示します。
idCanister ID を表示します。
infoCanister の WASM モジュールと現在のコントローラのハッシュを認証で取得する。
installコンパイルされたコードを {platform} またはローカルの Canister 実行環境上に Canister としてインストールします。
request-statusCanister への呼び出しの状況をリクエストします。
send事前に署名された message.json を、指定された Canister ID に送信します。例えば、Neuron を管理するために Network Nervous System (NNS) のガバナンス Canister を呼び出すメッセージを送信したい場合、セキュリティ上の理由からメッセージの署名をメッセージから分離したいときに使用します。
sign指定された Canister の ID を呼び出す前に、署名付きの message.json ファイルを作成します。例えば、Neuron を管理するために Network Nervous System (NNS) のガバナンス Canister を呼び出すメッセージを送信する場合、セキュリティ上の理由からメッセージの署名をメッセージから分離したいときに使用します。
start停止している Canister をリスタートします。
statusCanister の動作状況をリクエストします。
stop現在動作中の Canister を停止します。
uninstall-codeInternet Computer ネットワーク上の Canister をアンインストールし、そのコードとステートを削除します。
update-settings1 つまたは複数の Canister の設定を更新します (コントローラ・計算量割り当て・メモリ割り当てなど。)。

デフォルトのデプロイ環境をオーバーライドする

デフォルトでは dfx canister コマンドは dfx.json ファイルで指定されたローカルの Canister 実行環境上で実行されます。 もし dfx.json 設定ファイルの設定を変更せずに dfx canister サブコマンドを {platform} やテストネットで実行したい場合、 --network オプションを用いて接続先 URL を明示的に指定することで可能になります。

例えば、ローカルの Canister 実行環境上でプロジェクトに一意の Canister ID を登録するには、以下のコマンドを実行します:

dfx canister create --all

同一プロジェクトに対して {platform} 上で一意の Canister ID を登録したい場合は、以下のコマンドを実行します:

dfx canister --network ic create --all

SDK には ic というエイリアスが付属しており、{platform} を指すように設定されます。また、ネットワークオプションとして URL を渡すこともできますし、dfx.jsonnetworks 設定で、追加のエイリアスを設定することも可能です。

例として、以下のようなコマンドを使用して、テストネット上で動作している Canister と関数を呼び出すことができます。

dfx canister --network \http://192.168.3.1:5678 call counter get

Canister の操作(create または call)や、Canister 名(counter)や関数 (get)などの追加の引数の前に --network パラメータを指定しなければならないことに注意してください。

dfx canister call

デプロイされた Canister で指定されたメソッドを呼び出すには、 dfx canister call コマンドを使用します。

基本的な利用法

dfx canister call [option] canister_name _method_name_ [argument] [flag]

フラグ

dfx canister call コマンドでは、以下のオプションフラグを使用することができます。

フラグ説明
--asyncローカル Canister 実行環境、または {platform} をポーリングして、呼び出しの結果が返されるのを待たずに続行できるようにします。
-h, --help利用情報を表示します。
--queryデプロイされた Canister にクエリ・リクエストを送信できるようにします。

明示的にクエリ・メソッドを使用して効率よく情報を取得する場合に、このフラグを使用する必要があります。 クエリコールとアップデートコールの違いについては Canister はプログラムとステートを包含する を参照してください。| |--update |デプロイされた Canister にアップデートリクエストを送信できるようにします。 デフォルトでは Canister の呼び出しは アップデートメソッドが使用されます。| |-V, --version |バージョン情報を表示します。|

オプション

dfx canister call コマンドでは、以下のオプションを使用することができます。

オプション説明
--output <output>メソッドの戻り値を表示する際に使用する出力形式を指定します。有効な値は idlraw です。
--type <type>引数を用いて呼び出しを行う場合の引数のデータ形式を指定します。有効な値は idlraw です。

引数

dfx canister call コマンドでは、以下の引数を指定することができます。

引数説明
canister_name呼び出す Canister の名前を指定します。Canister 名は必須の引数で dfx.json 設定ファイルの canisters セクションでプロジェクトに設定した名前と一致する必要があります。
method_nameCanister 内の呼び出すメソッド名を指定します。Canister メソッドは必須引数です。
argumentメソッドに渡す引数を指定します。プログラム・ロジックに応じて、引数は必須引数、またはオプション引数にすることができます。Canister に引数を渡す場合は --type オプションを使用してデータフォーマットのタイプを指定することができます。デフォルトでは、データ値に Candid (idl) 構文を使用して引数を指定します。Candid の使い方やサポートされている型についてはInteract with a service in a terminalSupported types をご覧ください。Canister に生のバイトを渡したい場合は、引数の型として raw を使用することができます。

dfx canister call コマンドを使用すると dfx canister install コマンドを使用して Canister をデプロイした後に、引数付き、または引数なしで特定のメソッドを起動することができます。 例えば、canister_namecounter である Canister に対して get メソッドを呼び出すには、以下のコマンドを実行してください。

dfx canister call counter get --async

この例では、コマンドに --async オプションが含まれており、ローカルの Canister 実行環境や {platform} をポーリングして結果を待つのではなく、個別に request-status を呼び出したいことを表しています。 --async オプションはオペレーションを完了するまでに時間がかかる場合に便利です。 このオプションにより、他の操作を続けてながら別の dfx canister request-status コマンドを使用して結果を確認することができます。 返された結果は IDL のテキストフォーマットで表示されます。

IDL 構文を使用する

Text データ型に対して以下のようなコマンドを実行することで、IDL 構文で引数を渡すことを明示的に指定することができます:

dfx canister call hello greet --type idl '("Lisa")'
("Hello, Lisa!")

dfx canister call hello greet '("Lisa")' --type idl
("Hello, Lisa!")

また、以下のようなコマンドを実行することで IDL を暗黙的に利用することができます:

dfx canister call hello greet '("Lisa")'
("Hello, Lisa!")

IDL 構文で複数の引数を指定する場合は、引数の間にカンマ(,)を使用します。

例:

dfx canister call contacts insert '("Amy Lu","01 916-335-2042")'

dfx canister call hotel guestroom '("Deluxe Suite",42,true)'

以下のようなコマンドを実行することで、バイト単位の生データを渡すことができます:

dfx canister call hello greet --type raw '4449444c00017103e29883'

この例では、raw データ型を使って、hello Canister の greet 関数に 16 進数を渡しています。

dfx canister create

コンパイルされたコードなしにひとつ、または複数の Canister ID を登録するには、dfx canister create コマンドを使用します。 このコマンドを実行するには、ローカルの Canister 実行環境、または {platform} に接続されている必要があります。

このコマンドはプロジェクトのディレクトリ構造内からのみ実行できることに注意してください。 例えば、プロジェクト名が hello_world の場合、現在の作業ディレクトリは hello_world のトップレベルのプロジェクトディレクトリかそのサブディレクトリのいずれかである必要があります。

(Canister) ID を登録するため、初めて dfx canister create コマンドを実行すると、公開鍵と秘密鍵のペアの認証情報が default ユーザー(開発者) Identity に作成されます。 default ユーザー(開発者)の認証情報は $HOME/.dfinity/identity/creds.pem から $HOME/.config/dfx/identity/default/identity.pem へ移行されます。

基本的な利用法

dfx canister create [option] [flag] [--all | canister_name]

フラグ

dfx canister create コマンドでは、以下のオプションフラグを使用することができます。

フラグ説明
-h, --help利用情報を表示します。
-V, --versionバージョン情報を表示します。

オプション

dfx canister create コマンドでは、以下のオプションを使用することができます。

オプション説明
--with-cycles <number-of-cycles>Canister を作成する際の初期 Cycle 数をウォレットで指定できるようになります。

引数

dfx canister create コマンドでは、以下の引数を使用することができます。

引数説明
--all複数の Canister を定義した dfx.json ファイルがプロジェクトにある場合、複数の Canister ID を一度に作成できるようにします。--all または、個々の Canister 名を指定する必要があることに注意してください。
canister_name(Canister) ID を登録する Canister の名前を指定します。--all オプションを使用しない場合、Canister 名は必須の引数であり、プロジェクトの dfx.json 設定ファイルの canisters セクションで設定した名前と少なくとも 1 つは一致しなければなりません。

dfx canister create コマンドを使用すると、最初にコードをコンパイルすることなく、Canister ID を登録することができます。 例えば、プログラムを書く前にプロジェクト my_counter の Canister ID を作成したい場合、以下のコマンドを実行します:

dfx canister create my_counter

dfx canister create コマンドに --with-cycles オプションを付けて使用すると、プロジェクト内の 1 つまたはすべての Canister の作成時に初期残高を指定することができます。例えば、すべての Canister の初期残高を 8000000000000 Cycle に指定するには、次のコマンドを実行します。

dfx canister create --with-cycles 8000000000000 --all

dfx canister delete

停止した Canister をローカルの Canister 実行環境または {platform} から削除するには、dfx canister delete コマンドを使用します。

このコマンドはプロジェクトのディレクトリ構造内からのみ実行できることに注意してください。 例えば、プロジェクト名が hello_world の場合、現在の作業ディレクトリは hello_world のトップレベルのプロジェクトディレクトリかそのサブディレクトリのいずれかである必要があります。

基本的な利用法

dfx canister delete [flag] [--all | canister_name]

フラグ

dfx canister delete コマンドでは、以下のオプションフラグを使用することができます。

フラグ説明
-h, --help利用情報を表示します。
-V, --versionバージョン情報を表示します。

引数

dfx canister delete コマンドでは、以下の引数を使用することができます。

引数説明
--alldfx.json ファイルに設定されているすべての Canister を削除します。--all または、個々の Canister 名を指定する必要があることに注意してください。
canister_name削除する Canister の名前を指定します。Canister 名、または --all オプションのいずれかを指定する必要があることに注意してください。

dfx canister delete コマンドを使うと、特定の Canister またはすべての Canister を削除することができます。

hello_world の Canister を削除するには、以下のコマンドを実行します:

dfx canister delete hello_world

IC {platform} にデプロイしたすべての Canister を削除するには、次のコマンドを実行します:

dfx canister --network=ic delete --all

dfx canister deposit-cycles

Use the dfx canister deposit-cycles command to deposit cycles from your configured wallet into a canister.

Note that you must have your cycles wallet configured for this to work.

Basic usage

dfx canister deposit-cycles [amount of cycles] [--all | canister_name]

Flags

You can use the following optional flags with the dfx canister deposit-cycles command.

FlagDescription
-h, --helpDisplays usage information.
-V, --versionDisplays version information.

Arguments

You can use the following arguments with the dfx canister deposit-cycles command.

ArgumentDescription
--allDeposits the specified amount of cycles into all canisters configured in dfx.json. Note that you must specify --all or an individual canister name.
canister_nameSpecifies the name of the canister you want to deposit cycles into. Note that you must specify either a canister name or the --all option.

Examples

You can use the dfx canister deposit-cycles command to add cycles to a specific canister or all canisters.

To add 1T cycles to the canister called hello, you can run the following command:

dfx canister deposit-cycles 1000000000000 hello

To add 2T cycles to each individual canister specified in dfx.json, you can run the following command:

dfx canister deposit-cycles 2000000000000 --all

dfx canister id

特定の Canister 名の Canister ID を出力するには、dfx canister id コマンドを使用します。

このコマンドはプロジェクトのディレクトリ構造内からのみ実行できることに注意してください。 例えば、プロジェクト名が hello_world の場合、現在の作業ディレクトリは hello_world のトップレベルのプロジェクトディレクトリかそのサブディレクトリのいずれかである必要があります。

基本的な利用法

dfx canister id [flag] canister_name

フラグ

dfx canister id コマンドでは、以下のオプションフラグを使用することができます。

フラグ説明
-h, --help利用情報を表示します。
-V, --versionバージョン情報を表示します。

引数

dfx canister id コマンドでは、以下の引数を使用することができます。

引数説明
canister_name(Canister) ID を表示する Canister の名前を指定します。

特定の Canister 名の Canister ID を表示するには、dfx canister id コマンドを使用することができます。

hello_world Canister の Canister ID を表示するには、次のコマンドを実行します。

dfx canister id hello_world

このコマンドは次のような出力を表示します:

75hes-oqbaa-aaaaa-aaaaa-aaaaa-aaaaa-aaaaa-q

dfx canister install

コンパイルされたコードを {platform} またはローカルの Canister 実行環境にインストールするには dfx canister install コマンドを使用します。

基本的な利用法

dfx canister install [flag] [option] [--all | canister_name]

フラグ

dfx canister install コマンドでは、以下のオプションフラグを使用することができます。

フラグ説明
--async{platform} またはローカルの Canister 実行環境をポーリングして、インストールの結果が返されるのを待たずに続行できるようにします。
-h, --help利用情報を表示します。
-V, --versionバージョン情報を表示します。

オプション

dfx canister install コマンドでは、以下のオプションを使用することができます。

オプション説明
--argument <argument>インストール時に Canister に渡す引数を指定します。
--argument-type <argument-type>--argument オプションを使用してインストールする際に、引数のデータフォーマットを指定します。有効な値は idlraw です。デフォルトでは、データ値に Candid (idl) 構文を使用して引数を指定します。Candid の使い方やサポートされている型については、Interact with a service in a terminalSupported types を見てみてください。Canister に生バイナリデータを渡したい場合は、引数の型として raw を使用することができます。
-c, --compute-allocation <compute-allocation>Canister 実行のための計算割り当て(実質的に CPU 割り当ての設定に相当)を定義します。この値は 0 ~ 100 の範囲でパーセンテージとして設定できます。
--memory-allocation <memory-allocation>Canister で使用できる総メモリ数を指定します。この値は 0 ~ 8 MB の範囲で設定できます。
-m, --mode <mode>Canister を install, reinstall, または upgrade のいずれでインストールするかを指定します。インストールモードと Canister 管理の詳細については、Canister を管理する を参照してください。

引数

dfx canister install コマンドでは、以下の引数を使用することができます。

引数説明
--allプロジェクトの dfx.json ファイルに複数の Canister が含まれている場合、複数の Canister を一度にインストールできるようにします。--all または個々の Canister 名を指定する必要があることに注意してください。
canister_nameデプロイする Canister の名前を指定します。
dfx.json 設定ファイルの canisters セクションでプロジェクトに設定した名前と一致する必要があります。

dfx canister install コマンドを使用すると、dfx build コマンドでコンパイルした WebAssembly を {platform} またはローカルの Canister 実行環境上にデプロイすることができます。 最も一般的な使用方法は、以下のコマンドを実行してすべての Canister をインストールすることです:

dfx canister install --all

特定の Canister をインストールする

また、dfx canister install コマンドを使用すると、プロジェクト内のすべての Canister ではなく、特定の Canister をデプロイすることができます。 例えば、hello_world Canister と hello_world_assets Canister を持つプロジェクトで、 hello_world Canister だけをデプロイしたい場合、以下のコマンドを実行してその Canister だけをデプロイすることが可能です:

dfx canister install hello_world

非同期リクエストを送信する

Canister のインストールのリクエストを行い、そのリクエストの識別子を返すことで、コマンドの完了を待つのではなく後でリクエストの状況を確認したい場合には、次のようなコマンドを実行します:

dfx canister install hello_world --async

このコマンドは Canister をインストールするリクエストを送信し、次のようなリクエスト識別子を返します:

0x58d08e785445dcab4ff090463b9e8b12565a67bf436251d13e308b32b5058608

リクエスト識別子を使用して、後でリクエストのステータスを確認することができます。これは荷物を発送するときの追跡番号のようなものです。

デフォルトのデプロイオプションを上書きする

もし、dfx.json 設定ファイルの設定を変更せずに、テストネット上に Canister をデプロイしたい場合は、--network オプションを使って接続するテストネットを明示的に指定することができます。

例えば、以下のようなコマンドを実行することで、テストネットの URL を指定することができます:

dfx canister --network \http://192.168.3.1:5678 install --all

ネットワークのパラメータは Canister オペレーション (install) の前に、かつ Canister 名または --all フラグの前に指定する必要があることに注意してください。

メッセージ処理のアロケーション

compute-allocation オプションでは、0 から 100 の範囲で計算資源をパーセンテージで割り当て、Canister の実行をどの程度の頻度でスケジュールするかを指定できます。

例えば、以下のようなコマンドを実行したとします:

dfx canister install --all --compute-allocation 50

この設定では、現在のプロジェクト内のすべての Canister に 50% の割り当てが行われます。プロジェクト内の Canister が処理する入力メッセージを受信すると、そのメッセージは実行のためにスケジュールされます。 100 回の実行サイクルの間に、各 Canister のメッセージは少なくとも 50 回処理されるようスケジュールされます。

このオプションの既定値は 0 で、特定の割り当てやスケジューリングが有効でないことを示します。 すべての Canister が既定の設定を使用する場合、処理はラウンドロビン方式で行われます。

dfx canister request-status

dfx canister request-status コマンドでは、Canister への指定された呼び出しのステータスをリクエストすることができます。 このコマンドでは Canister のメソッドを呼び出した後に受け取ったリクエストの識別子を指定する必要があります。 リクエストの識別子は 0x で始まる 16 進数の文字列です。

基本的な利用法

dfx canister request-status request_id

フラグ

dfx canister request-status コマンドでは、以下のオプションフラグを 使用することができます。

フラグ説明
-h, --help利用情報を表示します。
-V, --versionバージョン情報を表示します。

引数

dfx canister request-status コマンドには、以下の引数を指定できます。

引数説明
request_iddfx canister call または dfx canister install コマンドのレスポンスとして返される 16 進数の文字列を指定します。この識別子は 0x で始まる 16 進数の文字列です。

dfx canister request-status コマンドを使用して、Canister のステータス変更の状況を確認したり、次のようなコマンドを実行して、呼び出しが拒否されなかったことを確認することができます:

dfx canister request-status 0x58d08e785445dcab4ff090463b9e8b12565a67bf436251d13e308b32b5058608

このコマンドはリクエスト識別子が無効であるか、Canister によって拒否された場合、エラーメッセージを表示します。

dfx canister set-controller

dfx canister set-controller コマンドでは、{platform} 上の指定された Canister の新しい コントローラー として Identity 名 または Principal を指定することができます。 コントローラーは制御対象の Canister を管理する特別な権限を持ちます。 例えば、コントローラー(の Identity )だけがその制御下にある Canister のインストール、アップグレード、または削除をすることができます。

コントローラーとして、ユーザー(開発者)Identity または Canister のいずれかを指定できることに注意してください。 また、コントローラーは( Identity の)名前、または Principal を使用して指定することもできます。

基本的な利用法

dfx canister set-controller [flag] canister new-controller

フラグ

dfx canister set-controller コマンドでは、以下のオプションフラグを 使用することができます。

フラグ説明
-h, --help利用情報を表示します。
-V, --versionバージョン情報を表示します。

引数

dfx canister set-controller コマンドでは、以下の引数を使用する必要があります。

引数説明
<canister>new_controller 引数で指定したコントローラー(の ID )が制御する対象である Canister 名、または Canister ID を指定します。
<new_controller>(新規)コントローラーの Identity 名または Principal を指定します。

dfx canister set-controller コマンドを使用すると、特定の Canister を制御する コントローラーとして、(ユーザー)identity、または Canister を指定することができます。

例えば、dfx canister set-controller を実行して新しい Identity pubsadmin を作成し hello_world Canister のコントローラーとして指定するには、以下のコマンドを実行するとよいでしょう。

    dfx identity new pubsadmin
dfx canister set-controller hello_world pubsadmin

Principal ID のテキスト表現を使用してコントローラーを設定するには、次のようなコマンドを実行します。

    dfx canister set-controller hello_world wcp5u-pietp-k5jz4-sdaaz-g3x4l-zjzxa-lxnly-fp2mk-j3j77-25qat-pqe

Identity 名や Principal を指定するのも 1 つの使用例ですが、より一般的なシナリオは Cycle を送信するために使用するウォレット Canister を指定することです。 次の手順はローカル開発をしている場合のこのシナリオを説明するものです。この例では、 open_sf というプロジェクトを作成し、2 つの Canister をローカルの Canister 実行環境上にデプロイしたと仮定します。

  1. コントローラーとして動作するように sf-controller という名前の Identity を作成します。

    dfx identity new sf-controller

    Creating identity: "sf-controller".
    Created identity: "sf-controller".
  2. 新しい Identity をアクティブ Identity にします。

    dfx identity use sf-controller

    Using identity: "sf-controller".
  3. 新しい Identity のウォレット Canister ID を生成します。

    dfx identity get-wallet

    Creating a wallet canister on the local canister execution environment.
    r7inp-6aaaa-aaaaa-aaabq-cai
    The wallet canister on the the local canister execution environment for user "sf-controller" is "r7inp-6aaaa-aaaaa-aaabq-cai"
  4. アクティブ Identity を Canister の現在のコントローラーに切り替えます。例えば、Canister の作成に default の Identity が使用された場合、以下のコマンドを実行します。

    dfx identity use default

    Using identity: "default".
  5. 指定された Canister のコントローラーにウォレットを使用するようにした sf-controller Identity に設定します。

    dfx canister set-controller open_sf_assets r7inp-6aaaa-aaaaa-aaabq-cai

    Set "r7inp-6aaaa-aaaaa-aaabq-cai" as controller of "open_sf_assets".

    これで、ウォレット Canister r7inp-6aaaa-aaabq-cai を使って Cycle を送ったり、open_sf_assets Canister にカストディアンを追加することができるようになります。

dfx canister send

dfx canister call コマンドを使うのではなく、 dfx canister sign コマンドでメッセージに署名をした後に dfx canister send コマンドを使うことで、これらのステップを分離させることができます。別々の呼び出しを使うことで、トランザクションにセキュリティを加えることが可能です。

例えば、Neuron のステーキングを作成するときに dfx canister sign コマンドを使用して、エアギャップされたコンピュータを使用して署名済みの message.json ファイルを作成し、次に dfx canister send コマンドを使用して署名済みのメッセージを配信することができます。

基本的な利用法

dfx canister send file_name

フラグ

dfx canister request-status コマンドでは、以下のオプションフラグを使用することができます。

フラグ説明
-h, --help利用情報を表示します。
-V, --versionバージョン情報を表示します。

引数

dfx canister send コマンドには、以下の引数を指定することができます。

引数説明
file_nameメッセージのファイル名を指定します。 

dfx canister send コマンドを使用して作成した署名付きメッセージを genesis token canister (GTC) に送信し、以下のコマンドを実行することであなたに代わって Neuron を作成します:

dfx canister send message.json

dfx canister sign

dfx canister call コマンドを一度に使うのではなく、 dfx canister send コマンドでメッセージを送信する前に dfx canister sign コマンドを使うことで、これらのステップを分離することができます。別々の呼び出しを使うことで、トランザクションにセキュリティを加えることが可能です。 例えば、Neuron ステーキングを作成する際に dfx canister sign コマンドを使用して、エアギャップされたコンピュータを使用して署名された message.json ファイルを作成し、dfx canister send コマンドを使用して {platform} に接続されているコンピュータから署名されたメッセージを配信することが考えられます。

基本的な利用法

dfx canister sign [flag] [option] _canister-name_ _method-name_ [argument]

フラグ

dfx canister sign コマンドでは、以下のオプションフラグを使用することができます。

フラグ説明
-h, --help利用情報を表示します。
--queryCanister にクエリ・リクエストを送信します。
--updateCanister にアップデート・リクエストを送信します。これは --query メソッドが使用されない場合のデフォルト・メソッドです。
-V, --versionバージョン情報を表示します。

オプション

dfx canister sign コマンドには、以下のオプションを指定することができます。

OptionDescription
--expire-after <seconds>有効期限が切れて送信できなくなるまでの時間を指定します。秒単位で指定します。未定義の場合、デフォルトは 300 秒(5 分)です。
--file <output>出力ファイル名を指定します。デフォルトは message.json です。
--random <random>ランダムな引数を生成するための設定を指定します。
--type <type>S 引数を用いた呼び出しを行う際に、引数のデータ型を指定します。 idlraw を指定可能です。

引数

dfx canister sign コマンドには、以下の引数を指定することができます。

引数説明
canister_name呼び出す Canister の名前を指定します。Canister 名は必須の引数で dfx.json 設定ファイルの canisters セクションでプロジェクトに対して設定した名前と一致する必要があります。
method_nameCanister で呼び出すメソッド名を指定します。Canister のメソッドは必須引数です。
argumentメソッドに渡す引数を指定します。プログラム・ロジックに応じて、引数は必須引数またはオプション引数にすることができます。Canister に引数を渡す場合は --type オプションを使用してデータフォーマットのタイプを指定することができます。デフォルトでは、データ値に Candid (idl) 構文を使って引数を指定することができます。Candid の使い方やサポートされている型については Interact with a service in a terminalSupported types を見てみてください。生バイナリ(データ)を渡したい場合は、引数の型として raw を指定することができます。

dfx canister sign コマンドを使用して、以下のようなコマンドを Privacy Enhanced Mail (PEM) ファイルを使用して作成した Identity に関連付けられた Principal を使用して実行し、署名付き message.json ファイルを作成します:

dfx canister --network=ic sign --expire-after=1h rno2w-sqaaa-aaaaa-aaacq-cai create_neurons ‘(“PUBLIC_KEY”)’

このコマンドでは、署名された message.json ファイルを作成する方法を説明します。 このコマンドは message.json ファイルを作成して、ic エイリアスで指定した {platform} 上に Neuron を作成する方法を示しています。このファイルはメッセージの送信者としてあなたの Principal ID を使い、1 時間で終了する有効期限を設定して署名されています。

署名されたメッセージの送信に割り当てられる時間は 5 分という固定されたウィンドウであることに注意してください。expire-after オプションは署名されたメッセージを送るための 5 分のウィンドウを終了させる時点を指定することができます。例えば、--expire-after オプションを 1 時間(1h)に設定すると、生成されたメ ッセージを送る前に少なくとも 55 分待たなければならず、メッセージの署名は 60 分で終わる 5 分間のウィンドウの間だけ有効になります。

したがって、この例では、55 分後にメッセージを送信し、60 分前にメッセージを送信しないと、メッセージが有効であると認識されません。

もし、--expire-after オプションを指定しなければ、デフォルトの有効期限は 5 分です。

以下のコマンドを実行して、署名されたメッセージを genesis token canister (GTC) に送信し、あなたの代わりに Neuron を作成します:

dfx canister send message.json

dfx canister start

dfx canister start コマンドを使用すると、{platform} または、ローカルの Canister 実行環境上で停止している Canister を再起動できます。

ほとんどの場合、Canister のアップグレードの前提条件に保留中のリクエストを適切に中断するために Canister を停止した後、このコマンドを実行します。

このコマンドは、プロジェクトのディレクトリ構造内からのみ実行できることに注意してください。 例えば、プロジェクト名が hello_world の場合、現在の作業ディレクトリは hello_world トップレベルのプロジェクトディレクトリか、そのサブディレクトリのいずれかである必要があります。

基本的な利用法

dfx canister start [flag] [--all | canister_name]

フラグ

dfx canister start コマンドでは、以下のオプションフラグを使用することができます。

フラグ説明
-h, --help利用情報を表示します。
-V, --versionバージョン情報を表示します。

引数

dfx canister start コマンドでは、以下の引数を使用することができます。

引数説明
--alldfx.json ファイルで設定されているすべての Canister を起動します。--all または、個々の Canister 名を指定する必要があることに注意してください。
canister_name起動する canister の名前を指定します。Canister 名、または --all オプションのいずれかを指定する必要があることに注意してください。

dfx canister start コマンドを使用すると、特定の Canister またはすべての Canister を起動することができます。

hello_world Canister を起動するためには、以下のコマンドを実行します。

dfx canister start hello_world

{platform} 上にデプロイした全ての Canister を起動するには、以下のコマンドを実行します。

dfx canister --network=ic start --all

dfx canister status

dfx canister status コマンドでは、{platform} またはローカルの Canister 実行環境において Canister が現在実行中か、停止中か、または現在停止しているかを確認できます。

このコマンドは、プロジェクト・ディレクトリ構造内からのみ実行できることに注意してください。 例えば、プロジェクト名が hello_world の場合、現在の作業ディレクトリは hello_world のトップレベルのプロジェクトディレクトリかそのサブディレクトリのいずれかである必要があります。

基本的な利用法

dfx canister status [flag] [--all | canister_name]

フラグ

dfx canister status コマンドでは、以下のオプションフラグを使用することができます。

フラグ説明
-h, --help利用情報を表示します。
-V, --versionバージョン情報を表示します。

引数

dfx canister status コマンドでは、以下の引数を使用できます。

引数説明
--alldfx.json ファイルに設定されているすべての Canister のステータス情報を返します。--all または個々の Canister 名を指定する必要があることに注意してください。
canister_nameデータを返したい Canister の名前を指定します。Canister 名、または --all オプションのいずれかを指定する必要があることに注意してください。

dfx canister status コマンドを使用することで、特定の Canister または全ての Canister のステータスを確認することができます。

hello_world Canister のステータスを確認するには、以下のコマンドを実行します。

dfx canister status hello_world

{platform} にデプロイしたすべての Canister のステータスを確認するには、次のコマンドを実行します。

dfx canister --network=ic status --all

dfx canister stop

dfx canister stop コマンドでは、{platform} またはローカルの Canister 実行環境上で現在実行中の Canister を停止できます。

ほとんどの場合、Canister をアップグレードする前提条件に、保留中のリクエストを適切に中断させるためにこのコマンドを実行します。

このコマンドは、プロジェクト・ディレクトリ構造内からのみ実行できることに注意してください。 例えば、プロジェクト名が hello_world の場合、現在の作業ディレクトリは hello_world トップレベルのプロジェクトディレクトリか、そのサブディレクトリのいずれかである必要があります。

基本的な利用法

dfx canister stop [flag] [--all | canister_name]

フラグ

dfx canister stop コマンドでは、以下のオプションフラグを使用することができます。

フラグ説明
-h, --help利用情報を表示します。
-V, --versionバージョン情報を表示します。

引数

dfx canister stop コマンドでは、以下の引数を使用することができます。

引数説明
--alldfx.json ファイルで設定されているすべての Canister を停止します。--all または、個々の Canister 名を指定する必要があることに注意してください。
canister_name停止したい Canister の名前を指定します。Canister 名または --all オプションのいずれかを指定する必要があることに注意してください。

dfx canister stop コマンドを使用することで、特定の Canister またはすべての Canister を停止することができます。

hello_world Canister を停止させるには、以下のコマンドを実行します:

dfx canister stop hello_world

{platform} にデプロイしたすべての Canister を停止するには、次のコマンドを実行します:

dfx canister --network=ic stop --all