rocketdApp 向けクイックスタートガイド

React dApp への INTMAX WalletSDK 統合手順と主要メソッドの使用例

React dApp に INTMAX WalletSDK をセットアップするためのクイックスタートガイドです。Next.js にも軽微な調整で対応できます。この dApp から、対応する任意の Web ウォレットに接続できるようになります。

インストール

前提条件: Node.js 18.0+

dApp の接続には intmax-walletsdk をインストールし、dApp 固有の機能のために intmax-walletsdk/dapp をインポートする必要があります。

npm install intmax-walletsdk

使い方

intmaxDappClient のインポートとクライアント作成

intmax-walletsdk/dapp から intmaxDappClient をインポートして設定します。設定には、名前、ウォレット URL、dApp のメタデータ、プロバイダーの指定が必要です。

// App.tsx

import { ethereumProvider, intmaxDappClient } from "intmax-walletsdk/dapp";

const createsdk = (walletUrl: string) => {
  return intmaxDappClient({
    wallet: { url: walletUrl, name: "DEMO Wallet", window: { mode: "iframe" } },
    metadata: DAPP_METADATA,
    providers: { eip155: ethereumProvider() },
  });
};

メタデータには、dApp の名前、説明、アイコンを含めます。

使用例

この例では、SDK のカスタム Web3 プロバイダーである ethereumProvider を使用するよう intmaxDappClient を設定しています。その他の設定オプションについては ethereumProvider のドキュメントを参照してください。 クライアントの設定後、任意のウォレット URL を渡して使用できます。

ウォレット接続の初期化

ウォレットアカウントに接続するには、プロバイダーを初期化し、eth_requestAccounts メソッドで dApp とウォレット間のペアリングプロセスを開始します。eth_accounts はウォレット内の利用可能なアカウントを取得します。

使用例

トランザクションの署名

トランザクション署名の関数を設定するには、eth_sign メソッドを呼び出します。これにより、ウォレットのポップアップが表示され、後で使用するトランザクションに署名できます。このメソッドには、ウォレットアドレスと署名対象のメッセージをパラメータとして渡す必要があります。

使用例

トランザクションの送信

トランザクションを送信するには、eth_sendTransaction メソッドを使用します。このメソッドには、送信先アドレス(to)、送信元アドレス(from)、送金額(value)を渡す必要があります。その他のオプションパラメータについては API リファレンスを参照してください。

使用例

ウォレットチェーンの切り替え

INTMAX WalletSDK では、接続中のウォレットで異なるチェーンへの切り替えも可能です。wallet_switchEthereumChain メソッドを呼び出し、切り替え先のチェーン ID をパラメータとして渡します。これにより、指定したネットワークへの切り替え確認がユーザーに表示されます。

使用例

型付きデータの署名

intmax-walletsdk では、eth_signTypedData_v4 メソッドを使用して型付きデータ(Typed Data)の署名を処理できます。このメソッドは EIP-712(型付き構造化データ署名の標準)の一部です。eth_signTypedData_v4 には型付きデータをパラメータとして渡す必要があります。

使用例

WalletNext がサポートするその他のメソッドについては API リファレンスを参照してください。 エンドツーエンドのコード例は dapp examplearrow-up-right GitHub リポジトリで確認できます。

最終更新