本文へ移動

実装例

動作するSeamsウォレットを作成し、署名、復元、デバイス連携、エクスポート、テーマ設定を追加します。

実装例 ​

これらの実装例は、アプリにコピーして利用できます。Seamsウォレットを使う場合は、まずプロバイダーを設定し、ウォレットを登録またはアンロックします。 その後、製品に必要な操作を選んでください。

外部NEARウォレットには、コンパイル対象のコネクター実装例を使用してください。 専用のインポート先を使う開発プレビューで、Seamsのプロバイダーは不要です。 以下の前提条件はSeamsウォレットの実装例に適用されます。

前提条件 ​

SDKをインストールし、アプリが使うウォレットオリジン、リレーヤー、登録用の環境変数を設定してください。

sh
pnpm add @seams/wallet@0.42.0
tsx
import { SeamsWebProvider, seamsTestnetConfig, useSeams } from '@seams/wallet/react';

// Everything else — wallet service path, SDK base path, relayer account, chain
// RPC and explorer URLs — comes from the SDK defaults.
const seamsConfig = seamsTestnetConfig({
  walletOrigin: import.meta.env.VITE_WALLET_ORIGIN,
  relayerUrl: import.meta.env.VITE_RELAYER_URL,
  publishableKey: import.meta.env.VITE_SEAMS_PUBLISHABLE_KEY,
});

function WalletApp() {
  const { loginState } = useSeams();
  return <p>{loginState.isLoggedIn ? 'Wallet unlocked' : 'Wallet locked'}</p>;
}

export function App() {
  return (
    <SeamsWebProvider config={seamsConfig}>
      <WalletApp />
    </SeamsWebProvider>
  );
}

実装例の対象は、リリース0.42.0とiframeプロトコル23.0.0です。 この設定例では、NEARとTempoのテストネットを設定します。 Ethereum Sepoliaの実装例を使う場合は、署名ガイドのとおり、そのチェーンを追加してください。

設定例は、プロバイダーをアプリの境界に配置します。ウォレットUIはSeamsWebProviderの内側に配置してください。 各操作の実装例には、seamsインスタンスとウォレットの識別情報を渡します。

実装例を選ぶ ​

コードの使い方 ​

<<<ブロックは、ソースのexamplesディレクトリーにある共通のTypeScript実装例を読み込みます。 必要な関数やコンポーネントをコピーし、自社のUIとエラー通知につないでください。 walletId、nearAccountId、Google IDトークンなどの値は、認証済みのアプリ状態から取得します。

各処理は、型付きの成功・失敗結果を返すか、イベントコールバックで進行状況を通知します。 実装例を変更する際も結果の分岐処理を残し、キャンセル、ポリシーによる拒否、セッションの期限切れに対処できるようにしてください。

次に読む ​