Embedded Wallet の利用方法
このコンテンツでは、Sequence WaaS SDK を使ったウォレット管理やトランザクションの詳細な手順を説明しています。
ユーザーが認証されると、一般的な web3 機能を使ってブロックチェーンとシームレスにやり取りできるようになります。
- ウォレットアドレスの取得:認証済みユーザーのアカウントに紐づくウォレットにアクセスします。このウォレットがすべてのアカウント機能の入り口となります。
- メッセージの署名:Embedded Wallet を使ってメッセージに署名します。
- トランザクションの送信:ユーザー認証後、WaaS SDK を使って作成した EVM calldata でトランザクションを送信します。
ウォレットアドレスの取得
各ユーザーのウォレットアドレスは一意で変更できません。42 文字で、0x
から始まります:
メッセージの署名
ウォレットはメッセージに署名でき、オンチェーン・オフチェーンの両方で検証可能です:
トランザクションの送信
すべてのウォレットは作成直後からトランザクションを送信できます。追加の手順は不要で、全ユーザーにデフォルトでウォレットが付与されます。
ネットワークで手数料が必要なトランザクションを送信する際は、Fee Options の手順に従って、トランザクションと一緒に fee オブジェクトを送信したり、ユーザーのガス代を肩代わりする方法をご覧ください。詳細はこちら。
生トランザクション
- 即時トランザクション: ウォレットは作成直後からすぐにトランザクションを送信できます。
- 生トランザクション: 送信先、金額、データなどのパラメータを指定します。ガスリミットやノンスは自動で管理されます。
- ネットワーク指定: トランザクションには、対象ネットワークの
chainId
を指定する必要があります。例:Ethereum メインネットは1
、Arbitrum は42161
など。
エラー処理:実行前に isSentTransactionResponse
を使ってトランザクションを検証し、失敗を防ぎます。WaaS はトランザクションが失敗しないことを事前に確認します。失敗する場合は、トランザクションレシートの代わりにエラーメッセージが返されます。詳細はトランザクションレシートをご覧ください。
ERC20 トークンの送信
ERC20 トークン送信など、よく使う操作にはヘルパーメソッドが用意されています。これにより、トランザクションの data
フィールドは自動で処理されます。
ERC721 トークンの送信
ERC721 トークン送信にもヘルパーメソッドがあります。これにより、トランザクションの data
フィールドは自動で処理されます。
ERC1155 トークンの送信
ERC1155 トークンの送信もサポートされています。
任意のコントラクト呼び出し
callContract
を使うことで、関数シグネチャや ABI を指定して、任意のコントラクトメソッドとやり取りできます。名前付き引数・位置引数の両方に対応しています。
関数シグネチャ
関数シグネチャを指定するのが最も簡単なコントラクト呼び出し方法です。ABI は不要で、名前付きパラメータまたは位置パラメータで指定できます。
名前付き引数
位置引数
名前付き関数シグネチャに位置引数を渡すことも可能です。
ABI
ABI を指定すると記述量は増えますが、1つの ABI で複数のメソッドを呼び出せるなど柔軟性が高まります。ABI も名前付き引数・位置引数の両方に対応しています。
トランザクションの権限:
- メールアカウント: 現在のセッションがメールや電話に送信されたリンクで確認されると、トランザクションが有効になります。
- ソーシャルログインアカウント: Google や Facebook などのアカウントは、サインイン直後からトランザクションが可能です。
- 詳細はセッション管理の検証をご覧ください。