---
title: "Arbitrum Webhooksの作成方法"
description: "Alchemy NotifyでArbitrum Webhooksを作成する方法"
---

# Arbitrum Webhooksの作成方法

Alchemyは現在、Ethereum向けの[オプティミスティックロールアップ型レイヤー2スケーリングソリューション](https://www.alchemy.com/layer2/arbitrum?a=15abf7f4ce)である[Arbitrum向けのwebhooks](https://www.alchemy.com/arbitrum)をサポートしています。Arbitrum webhooksを使うことで、重要なweb3通知の受信を簡単にセットアップして開始できます。

この記事では、Arbitrum上でwebhookを作成・起動する方法、Arbitrum webhooksで追跡できるイベント、そしていくつかのユースケースを紹介します。

## webhookとは

webhookとは、アプリケーションにリアルタイムで情報を提供するための仕組みを指す用語です。webhookはweb callbackやHTTP push APIとも呼ばれます。

[webhooks](https://www.alchemy.com/overviews/what-is-a-webhook)を使うと、データを高速かつ頻繁に受信できるようになり、特定のイベントに関する通知を受け取るためによく利用されます。webhookはプロバイダーとコンシューマーの双方にリアルタイムなデータをもたらします。

webhookを使う上での唯一の難点は、最初のセットアップです。webhookはイベント発生時にURLを使って通知を送る仕組みで動作します。幸い、AlchemyはArbitrumの開発者がwebhookを素早く簡単に作成できるようにしています。

## webhooksで追跡できるArbitrumのイベントとは

[**Alchemy Notify for Arbitrum webhooks**](https://www.alchemy.com/docs/reference/notify-api-quickstart)を使って開発者が作成できる通知には主に3種類あります：mined transaction通知、dropped transaction通知、address activity通知です。

### **1. Mined transactions**

Mined transactions通知は、APIを通じて送信したトランザクションが正常にマイニングされたことを通知するために使われます。トークンの受け取り、mintの完了、トークンの送信など、ユーザーのトランザクションが処理された際に通知したい場合に有用です。

### 2. Dropped transactions

Dropped transactions通知は、APIキーを通じて送信したトランザクションが失敗、またはmempoolからdropされた場合にアプリケーションのユーザーに通知するために使われます。トランザクションの現在の状態がわからないと、ユーザーは不安を感じます。

Arbitrum webhooksを使うことで、dAppの開発者はトランザクションがdropされたことをユーザーに通知し、再試行を促すことができます。

### 3. Address activity

Address Activityは、ETH、[ERC20](https://www.alchemy.com/overviews/erc20-solidity)、ERC721といったトークンを追跡するために使われます。これらは、任意の数のEthereumアドレスに対して使えるtransferイベントです。このwebhookを使うことで、特定のアドレスがトークンを送受信するたびにリアルタイムで変化を検知できます。

#### アドレスtransferの種類

1. **Token transfers** - ERC20、ERC721、ERC1155のtransferに関するログを表示します。
1. **External transfers** - fromアドレスがユーザー作成のexternalアドレスであるトップレベルのトランザクションに使われるtransferです。externalアドレスは秘密鍵を持ち、ユーザーがアクセスします。
1. **Internal transfers** - _fromAddress_がinternalなスマートコントラクトアドレスであるtransfer（例：スマートコントラクトが別のスマートコントラクトを呼び出す、またはスマートコントラクトが別のexternalアドレスを呼び出す場合）です。
1. **Gas prices** - 現在のgas価格を取得し、gas価格が閾値を上回った、または下回った場合に通知を受け取ります。

## Arbitrum webhookの例

Arbitrum webhooksの使用例は多数あります。以下はその一部です：

- トランザクションのステータス更新を知らせるArbitrumウォレット通知
- 新しいArbitrum NFTを受け取った際のNFTエアドロップ更新
- Arbitrumのクジラがトークンを動かすたびに通知を送るDiscordボット
- 特定のコレクションのArbitrum NFTがtransferされるたびにツイートするTwitterボット

Arbitrum webhooksは、開発者がユーザーにトランザクションのステータスを常に知らせるために必要なツールを提供します。

## Arbitrumでwebhooksをセットアップする方法

Alchemyでは、イベントを追跡するためのwebhookの作成が非常に簡単で、実際にはアプリケーションに新しいURLを1つ追加するだけです。

Alchemy Notifyを有効化する方法は主に2つあります：ダッシュボードから行う方法とプログラムから行う方法です。

以下では、Alchemyのダッシュボードを使ってwebhookをセットアップする手順を示します。

### ステップ1 - 無料のAlchemyアカウントを作成する

webhookを作成するには、まだの場合は[無料のAlchemyアカウントを作成](https://dashboard.alchemy.com/signup/?a=c3e69d5930)してください。

### ステップ2 - Alchemyダッシュボードからwebhookを作成する

Alchemyダッシュボードの左上で「Ethereum + L2」エコシステムになっていることを確認してください。

「Notify」タブに移動し、「Address Activity」セクションの「Create Webhook」ボタンをクリックします。

### ステップ3 - ArbitrumとMainnetを選択して通知を追加する

次に、webhookを作成するために以下の項目を入力します：

- 「Chain」を「Arbitrum」に選択
- 「Network」を「Mainnet」に選択

続いて、アプリからコピーしたwebhook URLと、追跡したいアドレスを貼り付けます。

<ImageBlock
  src="https://media.alchemy.com/1704209004-address-activity-screen.png"
  alt="Address Activity画面。webhookのテストと作成に必要な情報が表示されている"
  width={1600}
  height={475}
  caption="Address Activity画面。webhookのテストと作成に必要な情報が表示されている"
/>

### ステップ4 - Arbitrum webhook URLを追加する

ここで、リクエストを受け取りたいリンク（サーバー、Slackなど）となる、あなた独自のwebhook URLを追加します。

注：webhookのpayloadはサードパーティ製の統合と常に互換性があるとは限りません。

### ステップ5 - Arbitrum webhookをテストする

作成を確定する前に、Alchemyのwebhookが正常にリクエストを送信するかテストしたい場合は、webhook URLの隣にある「Test Webhook」をクリックします。

すでにwebhookを作成済みで再度テストしたい場合は、webhookの横にある3つの点をクリックし、「Send Test Notification」を選択します。

### ステップ6 - 「create webhook」をクリックする

ここまで来たら、レスポンスが正しく届いているか確認しましょう。[Webhook Signature and Security](https://www.alchemy.com/docs/reference/notify-api-quickstart)を使ってwebhookをさらに安全にしたい場合は、あなた独自のwebhook signing keyを使ってHMAC SHA-256ハッシュコードを生成できます。これにより、webhookがAlchemyから送信されたものであることを検証できます。

プログラムからwebhookをセットアップする方法について詳しくは、ドキュメントの[Notify API](https://www.alchemy.com/docs/reference/webhooks-overview)ページを参照してください。
