メインコンテンツへスキップ
Injective上のすべてのトランザクションは同じフローに従います。フローは、トランザクションの準備、署名、ブロードキャストの3つのステップで構成されます。各ステップを個別に深掘りし、サンプルを交えてプロセスを詳しく説明することで、トランザクション全体のフローを理解できるようにします。

トランザクションの準備

まず、署名のためのトランザクションを準備する必要があります。 この時点では、提供されたMessageと署名者に基づいてトランザクションを素早く準備するオンラインの抽象化(例: @cosmjs/stargateパッケージの使用)は使用できません。理由は、これらのパッケージがInjectiveのpublicKey typeUrlをサポートしていないため、アドレスの準備をクライアント側で行う必要があるからです。 これを解決するため、@injectivelabs/sdk-tsパッケージにtxRawトランザクションを準備できる関数を提供しています。txRawはCosmosで使用されるトランザクションインターフェースで、トランザクションおよび署名者自体に関する詳細を含みます。 Cosmosウォレットから秘密鍵を取得する一般的な方法は、現在のchainIdの鍵を取得し、そこからpubKeyにアクセスすることです(例: const key = await window.keplr.getKey(chainId) => const pubKey = key.publicKey)。

トランザクションへの署名

トランザクションの準備ができたら、署名に進みます。前のステップでtxRawトランザクションを取得したら、Cosmosネイティブのウォレット(例: Keplr)を使用して署名します。
@injectivelabs/wallet-strategyパッケージを使用することで、トランザクションへの署名に使用できる抽象化メソッドを提供するウォレットを、そのまま手に入れることもできます。パッケージのドキュメントを参照してください。セットアップと使用は簡単です。dAppで複数のウォレットを利用できるため、こちらの方法が推奨されます。WalletStrategyはトランザクション署名抽象化以上のものを提供します。

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

署名の準備ができたら、Injectiveチェーン自体にトランザクションをブロードキャストする必要があります。第2ステップで署名を取得した後、それを署名済みのトランザクションに含めてチェーンにブロードキャストします。

例(準備 + 署名 + ブロードキャスト)

フロー全体を見てみましょう(Keplrを署名ウォレットとして使用)。

WalletStrategyを使用した例(準備 + 署名 + ブロードキャスト)

例はwallet-coreパッケージで参照できます。
最終更新日 2026年5月14日