概要
このドキュメントは、thirdweb や Venly など他のプロバイダーから Sequence Embedded Wallets への移行ガイドです。推奨される主な方法は「ジャストインタイム(JIT)マイグレーションパターン」であり、これはユーザーが移行後に初めてログインした際に実行されます。推奨される移行手順
移行プロセスは、既存のウォレットプロバイダーからSequence Embedded Walletsへのスムーズな移行を実現し、ユーザー体験への影響を最小限に抑えるよう設計されています。私たちのWeb-SDKは内部でwagmiメソッドを利用しているため、ほとんどの既存のアプリケーションロジックはそのまま互換性があります。このプロセスは、移行が実施された後にユーザーが初めてログインした際に自動的に行われ、一般的には次のような流れになります。-
ユーザー認証
- ユーザーがログインしようとすると、Sequence SDKを使って希望するソーシャルプロバイダーやメールで認証を行います。
- ユーザーが認証されると、メールアドレスやその他の一意のユーザー識別子とSequenceウォレットアドレスなどのユーザーデータがバックエンドに渡されます。
idToken
を取得し、それをバックエンドに渡すことで、ユーザーのメールアドレスやアドレスをバックエンド側で確認し、紐付けることができます。 こちらのガイドで、フロントエンドからトークンをリクエストし、バックエンドで検証する方法をご覧いただけます。 -
データベースの照合と更新
バックエンドで認証情報が確認できたら、ユーザーデータベースを修正し、そのユーザーにSequenceウォレットが既に存在するかどうかを管理できるようにします。
- ユーザーデータベースに
sequenceWallet
カラムを追加します。 - データベースは一意なユーザー識別子で検索され、該当ユーザーのレコードを取得します。
- システムは、そのユーザーに’sequenceWallet’が既に存在するかどうかを確認します。存在する場合は、特に何も行いません。
- Sequence ウォレットアドレスが見つからない場合:
a. 渡された Sequence ウォレットを
sequenceWallet
カラムに挿入します。 - データベースにユーザーが存在しない場合は、渡された情報を新規ユーザーとして登録します。
- ユーザーデータベースに
-
資産の移行
- ユーザーが正常にログインした後、資産の移行が既に行われているかシステムが確認します。
- 存在しない場合は、旧ウォレットから新しいSequenceウォレットへ資産を移行する必要があることをユーザーに説明する案内が表示されます。
- ユーザーは一度だけ、特定の移行ページから以前のプロバイダーにログインし、希望する資産を新しいSequenceウォレットへ移動します。
- 資産移行をスムーズに行うため、Sequence の Indexer を使って関連資産とその数量をユーザーに表示することをおすすめします。
thirdweb から Sequence への移行方法
ユーザー認証
Thirdweb は独自のプロバイダーや認証方法を提供しています。移行を始めるには、これらがコードベースのどこで使われているかを特定することが重要です。 これらの場所が分かれば、Sequenceへ切り替えることができるようになります。Sequenceの依存関係のインストール
pnpm
thirdweb プロバイダーから Sequence プロバイダーへの移行方法
thirdweb のログイン機能から Sequence のログイン機能への移行
- React Boilerplate – Sequence Embedded Walletが組み込まれたReactベースのスタータープロジェクトです。
- Next.js Boilerplate – Sequence Embedded Walletが組み込まれたNext.jsベースのスタータープロジェクトです。