---
title: "如何创建 Arbitrum webhooks"
description: "如何使用 Alchemy Notify 创建 Arbitrum webhooks"
---

# 如何创建 Arbitrum webhooks

Alchemy 现已支持 **[Arbitrum](https://www.alchemy.com/arbitrum) 的 webhooks**，这是 Ethereum 的[基于 optimistic rollup 的 layer-2 扩容方案](https://www.alchemy.com/layer2/arbitrum?a=15abf7f4ce)。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)，你可以快速、频繁地接收数据，常被用户用于接收特定事件的通知。webhooks 能够为提供方和消费方带来实时数据。

使用 webhooks 唯一的缺点是初次设置。webhooks 的工作方式是：事件发生时通过一个 URL 发送通知。幸运的是，Alchemy 让 Arbitrum 开发者能够快速轻松地创建 webhooks。

## 通过 webhooks 可以追踪哪些 Arbitrum 事件？

开发者可以使用 [**用于 Arbitrum webhooks 的 Alchemy Notify**](https://www.alchemy.com/docs/reference/notify-api-quickstart) 创建三种主要类型的通知：已挖矿交易通知、已丢弃交易通知和地址活动通知。

### **1. 已挖矿交易**

已挖矿交易通知用于告知通过你的 API 发送的交易已成功被挖矿。当你想在客户交易处理完成时通知他们（例如收到代币、完成铸造或发送代币）时，这非常有用。

### 2. 已丢弃交易

已丢弃交易通知用于在通过你的 API key 发送的交易失败或从内存池中被丢弃时，通知你的应用用户。当用户不清楚自己交易的当前状态时，就会产生交易焦虑。

通过使用 Arbitrum webhooks，dApp 开发者可以通知用户其交易已被丢弃，并允许他们重试该交易。

### 3. 地址活动

地址活动用于追踪 ETH、[ERC20](https://www.alchemy.com/overviews/erc20-solidity) 和 ERC721 代币。这些都是转账事件，可用于任意数量的 Ethereum 地址。使用此 webhook 可以在某个地址发送或接收代币时获得实时变更通知。

#### 地址转账的类型

1. **代币转账** - 显示任何 ERC20、ERC721 和 ERC1155 转账的日志。
1. **外部转账** - 这些转账用于 from 地址为用户创建的外部地址的顶层交易。外部地址拥有私钥，由用户访问。
1. **内部转账** - 从 _fromAddress_（即内部智能合约地址，比如一个智能合约调用另一个智能合约，或一个智能合约调用另一个外部地址）发生的转账。
1. **Gas 价格** - 获取当前 gas 价格，并在 gas 价格高于或低于某个阈值时收到通知。

## Arbitrum webhook 示例

Arbitrum webhooks 有许多使用场景示例，以下列出几个：

- Arbitrum 钱包交易状态更新通知
- 收到新的 Arbitrum NFT 时的 NFT 空投更新
- 每当 Arbitrum 巨鲸转移代币时发送通知的 Discord 机器人
- 每当特定收藏集中出现 Arbitrum NFT 时发推文的 Twitter 机器人

Arbitrum webhooks 为开发者提供了让用户随时了解交易状态所需的工具。

## 如何在 Arbitrum 上设置 webhooks

Alchemy 让创建用于追踪事件的 webhooks 变得非常简单，事实上，这就像在你的应用中添加一个新的 URL 一样简单。

激活 Alchemy Notify 主要有两种方式：通过 dashboard 或以编程方式。

下面，我们将展示如何使用 Alchemy 的 dashboard 设置 webhook 的步骤。

### 第 1 步 - 创建一个免费的 Alchemy 账户

若尚未创建，请先[创建一个免费的 Alchemy 账户](https://dashboard.alchemy.com/signup/?a=c3e69d5930)以便创建你的 webhooks。

### 第 2 步 - 从 Alchemy dashboard 创建一个 webhook

确保你处于 Alchemy dashboard 左上角的 “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) 让你的 webhooks 更加安全，可以使用你独有的 webhook signing key 生成一个 HMAC SHA-256 哈希码。这可以验证 webhooks 确实来自 Alchemy。

若想了解更多关于以编程方式设置 webhooks 的内容，请参阅文档中的 [Notify API](https://www.alchemy.com/docs/reference/webhooks-overview) 页面。
