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

Documentation Index

Fetch the complete documentation index at: https://injectivelabs-mintlify-jp-developers-first-half-1777019423.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

以下のページでは、Injectiveに接続するコマンドラインインターフェースであるinjectivedで何ができるかを説明します。injectivedを使用して、スマートコントラクトのアップロード、データのクエリ、ステーキング活動の管理、ガバナンスプロポーザルの操作などを通じて、Injectiveブロックチェーンと対話できます。

前提条件

injectivedがインストールされていることを確認

詳細については、injectivedのインストールを参照してください。injectivedのインストールに成功していれば、次のコマンドを実行できるはずです:
injectived version
ホームディレクトリが正しく使用されるようにコマンドを調整してください。
injectived keys list --home ~/.injective

Docker化されたCLIの使用

Dockerから実行する場合、コンテナにホームディレクトリをマウントする必要があります。
docker run -it --rm -v ~/.injective:/root/.injective injectivelabs/injective-core:v1.14.1 injectived keys list --home /root/.injective
Docker化されたCLIを使用したキーの追加は簡単です。
docker run -it --rm -v ~/.injective:/root/.injective injectivelabs/injective-core:v1.14.1 injectived keys add my_key --home /root/.injective
このコマンドの内訳は以下のとおりです:
  • dockerがイメージinjectivelabs/injective-core:v1.14.1を実行します
  • injectivedはコンテナ内からCLIを実行するコマンドです
  • keys addはキーを追加するコマンドです
  • my_keyはキーの名前です
  • --home /root/.injectiveはコンテナ内のCLIのホームディレクトリです
  • -v ~/.injective:/root/.injectiveはホストの~/.injectiveディレクトリをコンテナの/root/.injectiveディレクトリにマウントするだけです。
キーペアが作成され、コンテナの/root/.injective/keyring-fileディレクトリに保存されます。これは、ホストの~/.injective/keyring-fileディレクトリと同じです。 すべてのキーを一覧表示するには、次のコマンドを実行します:
docker run -it --rm -v ~/.injective:/root/.injective injectivelabs/injective-core:v1.14.1 injectived keys list --home /root/.injective

RPCエンドポイントの使用

Injectiveブロックチェーンにアクセスする前に、ノードが実行されている必要があります。自分自身のフルノードを実行するか、他のノードに接続するかのいずれかを選択できます。 状態をクエリしてトランザクションを送信するには、ピア接続ネットワーク全体のアクセスポイントであるノードに接続する必要があります。自分自身のフルノードを実行するか、他のノードに接続するかのいずれかを選択できます。 自分のノードを実行するは上級ユーザー向けです。ほとんどのユーザーには、パブリックノードへの接続をお勧めします。 RPCエンドポイントを設定するには、次のコマンドを使用します:
injectived config set client node https://sentry.tm.injective.network:443
injectived config set client chain-id injective-1
testnetのみの場合、次を使用できます: https://k8s.testnet.tm.injective.network:443 (chain-id injective-888)
それでは、状態をクエリしてみましょう:
injectived q bank balances inj1yu75ch9u6twffwp94gdtf4sa7hqm6n7egsu09s

balances:
- amount: "28748617927330656"
  denom: inj

一般的なヘルプ

injectivedに関する一般的な情報については、次のコマンドを実行します:
injectived --help
特定のinjectivedコマンドに関する詳細情報については、コマンドの後に-hまたは--helpフラグを付けます。例:
injectived query --help.

injectivedクライアントの設定

injectivedのより多くのオプションを設定するには、~/.injective/config/ディレクトリのconfig.tomlファイルを編集します。keyring-backendがfileに設定されている場合、Keyringファイルは~/.injective/keyring-fileディレクトリに配置されます。keyring-backendをtestまたはosに設定することもできます。testの場合、ファイル~/.injective/keyring-testとして保存されますが、パスワード保護はされません。 ファイル内のすべてのオプションはCLIを使用して設定できます: injectived config set client <option> <value>

トランザクションの生成、署名、ブロードキャスト

次のコマンドを実行すると、送信者のアカウントから受信者のアカウントにINJトークンが送信されます。1000injは送信するINJトークンの量で、1 INJ = 10^18 injであるため、1000injは非常に小さな単位(ごく少額)です。
injectived tx bank send MY_WALLET RECEIVER_WALLET 1000inj --from MY_WALLET
以下のステップが実行されます:
  • 1つのMsgx/bankMsgSend)を持つトランザクションを生成し、生成されたトランザクションをコンソールに出力します。
  • $MY_WALLETアカウントからトランザクションを送信する確認をユーザーに求めます。
  • keyringから$MY_WALLETを取得します。前のステップでCLIのkeyringをセットアップしているため、これが可能です。
  • keyringのアカウントで生成されたトランザクションに署名します。
  • 署名されたトランザクションをネットワークにブロードキャストします。CLIがパブリックInjectiveノードのRPCエンドポイントに接続されているため、これが可能です。
CLIはこれらの必要なステップをシンプルで使いやすいユーザー体験としてまとめています。ただし、すべてのステップを個別に実行することも可能です。

トランザクションの生成のみ

トランザクションの生成は、任意のtxコマンドに--generate-onlyフラグを追加するだけで簡単に行えます。例:
injectived tx bank send MY_WALLET RECEIVER_WALLET 1000inj --from MY_WALLET --generate-only
これにより、署名されていないトランザクションがJSONとしてコンソールに出力されます。上記のコマンドに> unsigned_tx.jsonを追加することで、署名されていないトランザクションをファイルに保存することもできます(署名者間でより簡単にやり取りするため)。

事前に生成されたトランザクションの署名

CLIを使用してトランザクションに署名するには、署名されていないトランザクションがファイルに保存されている必要があります。署名されていないトランザクションが現在のディレクトリのunsigned_tx.jsonというファイルにあると仮定しましょう(上記の段落を参照)。その後、次のコマンドを実行します:
injectived tx sign unsigned_tx.json --from=MY_WALLET
このコマンドは、署名されていないトランザクションをデコードし、keyringで既にセットアップされたMY_WALLETのキーを使用してSIGN_MODE_DIRECTで署名します。署名されたトランザクションはJSONとしてコンソールに出力され、上記と同様にコマンドラインに> signed_tx.jsonを追加することでファイルに保存できます。
injectived tx sign unsigned_tx.json --from=MY_WALLET > signed_tx.json
tx signコマンドで考慮すべきいくつかの有用なフラグ:
  • --sign-mode: amino-jsonを使用してSIGN_MODE_LEGACY_AMINO_JSONでトランザクションに署名できます、
  • --offline: オフラインモードで署名します。これは、tx signコマンドが署名に必要な署名者のアカウント番号とシーケンスを取得するためにノードに接続しないことを意味します。この場合、--account-number--sequenceフラグを手動で指定する必要があります。これは、インターネットにアクセスできないセキュアな環境での署名など、オフライン署名に役立ちます。

複数の署名者による署名(Multi Sig)

複数の署名者による署名はtx multi-signコマンドで行われます。このコマンドは、すべての署名者がSIGN_MODE_LEGACY_AMINO_JSONを使用することを前提としています。フローはtx signコマンドのフローと類似していますが、署名されていないトランザクションファイルに署名する代わりに、各署名者が以前の署名者によって署名されたファイルに署名します。tx multi-signコマンドは、既存のトランザクションに署名を追加します。署名者は、トランザクションで指定された順序と同じ順序で署名することが重要です。これはGetSigners()メソッドを使用して取得できます。 例えば、unsigned_tx.jsonから始めて、トランザクションに4人の署名者がいると仮定すると、次のように実行します:
# signer1に署名されていないトランザクションに署名させます。
injectived tx multi-sign unsigned_tx.json signer_key_1 > partial_tx_1.json
# signer1はpartial_tx_1.jsonをsigner2に送信します。
# signer2は自分の署名を追加します:
injectived tx multi-sign partial_tx_1.json signer_key_2 > partial_tx_2.json
# signer2はpartial_tx_2.jsonファイルをsigner3に送信し、signer3は自分の署名を追加できます:
injectived tx multi-sign partial_tx_2.json signer_key_3 > partial_tx_3.json

トランザクションのブロードキャスト

トランザクションのブロードキャストは、次のコマンドを使用して行います:
injectived tx broadcast tx_signed.json
オプションで--broadcast-modeフラグを渡して、ノードから受信するレスポンスを指定できます:
  • block: CLIはトランザクションがブロックに含まれるのを待ちます。
  • sync: CLIはCheckTx実行レスポンスのみを待機します。含まれていることを確認するために、トランザクション結果を手動でクエリしてください。
  • async: CLIは即座に戻ります(トランザクションが失敗する可能性があります) - 使用しないでください。
トランザクション結果をクエリするには、次のコマンドを使用できます:
injectived tx query TX_HASH

追加のトラブルシューティング

設定が正しく設定されていない場合があります。コマンドラインに次を追加することで、正しいノードRPCエンドポイントを強制できます。他の人とコマンドを共有する場合、すべてのフラグをコマンドラインに明示的に設定することをお勧めします(chain-id、node、keyring-backendなど)。
injectived --node https://sentry.tm.injective.network:443
Last modified on April 30, 2026