---
title: "如何建立 Arbitrum webhook"
description: "如何使用 Alchemy Notify 建立 Arbitrum webhook"
---

# 如何建立 Arbitrum webhook

Alchemy 現已支援 **[Arbitrum](https://www.alchemy.com/arbitrum) 的 webhook**，Arbitrum 是 Ethereum 的 [基於 optimistic rollup 的 layer-2 擴容方案](https://www.alchemy.com/layer2/arbitrum?a=15abf7f4ce)。Arbitrum webhook 讓接收重要的 web3 通知變得容易設定與啟用。

在本文中，我們將說明如何在 Arbitrum 上建立並啟用 webhook、探討可透過 Arbitrum webhook 追蹤的事件，並分享幾個使用案例。

## 什麼是 webhook？

webhook 是用來提供應用程式即時資訊的術語。webhook 也稱為 web callback 或 HTTP push API。

透過 [webhook](https://www.alchemy.com/overviews/what-is-a-webhook)，你可以快速且頻繁地接收資料，通常用於在特定事件發生時接收通知。webhook 能為提供方與使用方提供即時資料。

使用 webhook 唯一的缺點是第一次設定時較為麻煩。webhook 的運作方式是在事件發生時，使用 URL 發送通知。所幸，Alchemy 讓 Arbitrum 開發者能快速且輕鬆地建立 webhook。

## 哪些 Arbitrum 事件可以透過 webhook 追蹤？

開發者可以使用 [**Alchemy Notify for Arbitrum webhooks**](https://www.alchemy.com/docs/reference/notify-api-quickstart) 建立三種主要類型的通知：已上鏈交易通知、遭丟棄交易通知，以及地址活動通知。

### **1. 已上鏈的交易**

已上鏈交易通知用於告知透過你的 API 發送的交易已成功上鏈。如果你想在客戶的交易處理完成時通知他們，例如收到代幣、完成鑄造或發送代幣，這會很有用。

### 2. 遭丟棄的交易

遭丟棄交易通知用於在透過你的 API key 發送的交易失敗或從記憶體池（mempool）中被丟棄時，通知你的應用程式使用者。當使用者不清楚自己交易的目前狀態時，就會產生交易焦慮。

透過使用 Arbitrum webhook，dApp 開發者可以通知使用者其交易已被丟棄，並讓他們重新嘗試該筆交易。

### 3. 地址活動

地址活動用於追蹤 ETH、[ERC20](https://www.alchemy.com/overviews/erc20-solidity) 和 ERC721 等代幣。這些都是轉帳事件，可用於任意數量的 Ethereum 地址。使用此 webhook 可讓你在特定地址發送或接收代幣時即時掌握變動。

#### 地址轉帳的類型

1. **代幣轉帳** - 顯示任何 ERC20、ERC721 和 ERC1155 轉帳的紀錄。
1. **外部轉帳** - 這類轉帳用於發送方地址為使用者建立的外部地址時所發生的最上層交易。外部地址擁有私鑰，並由使用者存取。
1. **內部轉帳** - 從 _fromAddress_（即內部智能合約地址）所發生的轉帳（例如智能合約呼叫另一個智能合約，或智能合約呼叫另一個外部地址）。
1. **Gas 價格** - 取得目前的 gas 價格，並在 gas 價格高於或低於某個門檻時收到通知。

## Arbitrum webhook 範例

Arbitrum webhook 有許多使用案例，以下列出幾個：

- Arbitrum 錢包交易狀態更新通知
- 收到新的 Arbitrum NFT 時的 NFT 空投更新通知
- 每當 Arbitrum 巨鯨轉移代幣時發送通知的 Discord 機器人
- 每當特定收藏系列出現 Arbitrum NFT 時發推文的 Twitter 機器人

Arbitrum webhook 提供開發者所需的工具，讓使用者隨時掌握其交易狀態。

## 如何在 Arbitrum 上設定 webhook

Alchemy 讓建立 webhook 來追蹤事件變得非常簡單，實際上，就跟在你的應用程式中新增一個 URL 一樣簡單。

啟用 Alchemy Notify 主要有兩種方式：透過儀表板，或以程式化方式。

以下說明如何使用 Alchemy 的儀表板設定 webhook。

### 步驟 1 - 建立免費的 Alchemy 帳號

若你尚未建立帳號，請先[建立免費的 Alchemy 帳號](https://dashboard.alchemy.com/signup/?a=c3e69d5930)以建立你的 webhook。

### 步驟 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

在這裡，你可以新增你獨特的 webhook URL，這可以是你想接收請求的連結（例如你的伺服器、Slack 等）。

‍注意：webhook payload 可能不一定與第三方整合相容。

### 步驟 5 - 測試你的 Arbitrum webhook

如果你想在確認建立之前，測試 Alchemy webhook 是否能成功發送請求，可以點選 webhook URL 旁的「Test Webhook」。

或者，如果你已經建立好 webhook，但想再次測試，可以點選你的 webhook 旁的三個點，並選擇「Send Test Notification」。

### 步驟 6 - 點選「create webhook」

到這一步，你應該檢查回應是否正常送達。如果你想透過 [Webhook Signature and Security](https://www.alchemy.com/docs/reference/notify-api-quickstart) 讓你的 webhook 更安全，可以使用你獨特的 webhook 簽署金鑰產生 HMAC SHA-256 雜湊碼。這可以驗證該 webhook 確實來自 Alchemy。

若想進一步了解如何以程式化方式設定 webhook，請參閱文件中的 [Notify API](https://www.alchemy.com/docs/reference/webhooks-overview) 頁面。
