📑

OpenZeppelin Defenderを用いた、ガスレス・トランザクションの設定

2023/01/25に公開

※当記事はこちらの記事を翻訳したものです。
https://blog.thirdweb.com/guides/setup-gasless-transactions/

このガイドでは、ガスレス・トランザクションの設定方法を説明します。

ガスレス・トランザクションは、リレイヤー(中継器)を使用してトランザクションを転送し、ユーザーのトランザクションにかかるガス代を負担することができます。

リレイヤーは自己管理することも、様々なサービスプロバイダーを使って運営することもできます。

OpenZeppelin Defenderの使用

OpenZeppelin Defenderを使ってガスレス・トランザクションをセットアップするために

を設定します。

  1. OpenZeppelin Defenderにサインアップします。

  2. ダッシュボードのRelayタブで、"Add first Relayer "をクリックして、Relayerを作成します。

  • Name: リレーヤーの名前を指定します。
  • Network: リレーを動作させたいネットワーク、ネットワークについてはこちら
  1. リレイヤーのアドレスをコピーし、そのアドレスにそのネットワークにある資金を送金することで、リレイヤーに資金を入金します。例えば、Polygonネットワークを選択した場合はMATICとなります。
  2. ダッシュボードのAutotaskでオートタスクを作成します。
  • Name: オートタスクの任意の名前を指定します。
  • TriggerWebhookに設定します。
  • Connect to a relayer:先ほど作成したRelayerを選択します。
  • Code:コードを入力します。自動入力されたコードを削除し、thirdwebの GitHub からコードをコピーして Code ボックスに貼り付けます。
  1. オートタスクのダッシュボードからWebhook URIをコピーします。
  2. SDK のコンストラクタのオプションに Webhook URI を貼り付けます。

例えば、以下のようになります。

React SDK:

import { ChainId, ThirdwebProvider } from "@thirdweb-dev/react";

<ThirdwebProvider
  desiredChainId={ChainId.Mumbai}
  sdkOptions={{
    gasless: {
      openzeppelin: {
        relayerUrl: "https://api.defender.openzeppelin.com/autotasks/...",
      },
    },
  }}
>
  {/* Your App Here */}
</ThirdwebProvider>;

TypeScript SDK:

import { ThirdwebSDK } from "@thirdweb-dev/sdk";

new ThirdwebSDK(signerOrProvider, {
  gasless: {
    openzeppelin: {
      relayerUrl: "https://api.defender.openzeppelin.com/autotasks/...",
    },
  },
});

GitHubでコードの確認はこちら

質問がおありですか? お気軽に私たちのDiscordに参加してください!

Discussion